Uniapp Android离线打包集成阿里云推送
在使用uniapp开发项目时,因项目需要集成推送,本来集成了自带的uinpush2.0,但是因为后台原因更换成了阿里云推送,集成成功后,使用云打包一切ok,不需要额外处理,但是离线打包时不行,现在将离线打包时集成阿里云推送的步骤记录下来:
第一步:从插件市场下载的包解压,将Android目录下的所有aar包和lib下的所有jar、aar包全部复制到项目的lib目录下:
第二步:在build.gradle中添加阿里云推送的AppKey和AppSecret:
manifestPlaceholders = [
"GETUI_APPID": "",
"apk.applicationId":"",
"aliyunEmasAppKey":"阿里云推送的AppKey",
"aliyunEmasAppSecret":"阿里云推送的AppSecret"
]
第三步:现在直接运行是不行的,会报错告诉你没有进行初始化,因此我们需要重写一个MainApplication,在其中进行初始化,注意:MainApplication一定是要继承DCloudApplication。
public class MainApplication extends DCloudApplication {
@Override
public void onCreate() {
super.onCreate();
PushServiceFactory.init(getApplicationContext());
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
}
最后,要在AndroidManifest.xml中加上MainApplication ,
<application
android:name=".MainApplication"
android:allowBackup="true"
android:allowClearUserData="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:largeHeap="true"
tools:replace="android:name"
android:supportsRtl="true">
这时就可以正常运行啦,也能够接收到推送!