DCloud_Android_zl
DCloud_Android_zl
  • 发布:2019-09-25 19:01
  • 更新:2024-05-15 15:46
  • 阅读:12677

UniPush离线集成指南——Android

分类:uni-app

准备

  1. 通过官方途径申请UniPush账号,参考使用指南
  2. 离线SDK

配置

  • 依赖文件
    将aps-unipush-release.aar、aps-release.aar拷贝到已有项目libs文件夹下。

  • gradle配置
    打开build.gradle,在defaultConfig添加manifestPlaceholders节点,如下图所示,将io.dcloud.HBuilder替换成自己的应用包名,将appid等信息替换成申请之后的appid等。

    android {  
    defaultConfig {  
        manifestPlaceholders = [  
                "plus.unipush.appid" : "pPyZWvH3Fa6PXba19ID0091",  
                "plus.unipush.appkey" : "b7dOGlNPHR7pqwUxcXPVi44",  
                "plus.unipush.appsecret": "IxVYAT9qws8dlNElacmSg12",  
                "apk.applicationId":"io.dcloud.HBuilder"  
        ]  
    }  
    }  
  • 厂商配置
    添加下列内容到androidmanifest.xml中(未申请平台无需添加)

        <meta-data  
            android:name="MIPUSH_APPID"  
            android:value="XM_${XIAOMI_APP_ID}" />  
        <meta-data  
            android:name="MIPUSH_APPKEY"  
            android:value="XM_${XIAOMI_APP_KEY}" />  
        <meta-data  
            android:name="MEIZUPUSH_APPID"  
            android:value="MZ_${MEIZU_APP_ID}" />  
        <meta-data  
            android:name="MEIZUPUSH_APPKEY"  
            android:value="MZ_${MEIZU_APP_KEY}" />  
        <meta-data  
            android:name="com.huawei.hms.client.appid"  
            android:value="${HUAWEI_APP_ID}" />  
        <meta-data  
            android:name="OPPOPUSH_APPKEY"  
            android:value="OP_${OPPO_APP_KEY}" />  
        <meta-data  
            android:name="OPPOPUSH_APPSECRET"  
            android:value="OP_${OPPO_APP_SECRET}" />  
        <meta-data  
            android:name="com.vivo.push.app_id"  
            android:value="${VIVO_APP_ID}" />  
        <meta-data  
            android:name="com.vivo.push.api_key"  
            android:value="${VIVO_APP_KEY}" />  

    修改build.gradle,添加对应平台申请的appkey或appid(键名必须统一,如XIAOMI_APP_ID比如同时存在于build.gradle文件和Androidmanifest.xml文件中),如下所示:

    android {  
    defaultConfig {  
        manifestPlaceholders = [  
                "plus.unipush.appid" : "pPyZWvH3Fa6PXba19ID0091",  
                "plus.unipush.appkey" : "b7dOGlNPHR7pqwUxcXPVi45",  
                "plus.unipush.appsecret": "IxVYAT9qws8dlNElacmSg12",  
                "apk.applicationId":"io.dcloud.HBuilder",  
                "XIAOMI_APP_ID":"ccccccccc"  
        ]  
    }  
    }  
  • dcloud_properties.xml配置
    在properties中添加如下配置,features节点与services节点必须同时配置!

    <properties>  
    <features>  
        <feature name="Push" value="io.dcloud.feature.aps.APSFeatureImpl">  
            <module name="unipush" value="io.dcloud.feature.unipush.GTPushService"/>  
        </feature>  
    </features>   
    <services>  
        <service name="push" value="io.dcloud.feature.aps.APSFeatureImpl"/>  
    </services>  
    </properties>  
  • 其余配置
    oppo集成UniPush时需在Androidmanifest.xml的入口activity中添加如下配置:

    <activity  
            android:name="io.dcloud.PandoraEntry">  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
            /*oppo配置开始*/  
            <intent-filter>  
                <action android:name="android.intent.action.oppopush" />  
                <category android:name="android.intent.category.DEFAULT" />  
            </intent-filter>  
            /*oppo配置结束*/  
        </activity>  

注意

  • UniPush与个推及小米推送存在冲突,使用时请确保小米推送及个推相关文件已删除。
  • 上述账号信息仅为展示使用,使用时需替换成自己申请的appkey等信息。
  • 为了最大化的减少配置,权限及其他厂商配置统统放入aar中。
  • 集成UniPush时,原Androidmanifest.xml中对应的小米和个推的配置也需删除。
0 关注 分享

要回复文章请先登录注册

残局大师2022

残局大师2022

回复 alimtxy :
按官方文档离线打包出来的APK会闪退,这么改就不会
2024-05-15 15:46
V***@163.com

V***@163.com

回复 alimtxy :
谢谢你的修正,解决了我的问题。官方文档现在依旧没修改。哈哈哈
2024-05-07 08:31
alimtxy

alimtxy

文档麻烦更新一下 你们这个文档原封不动带过去 结果呢
报了这个错误 Failed resolution of: Lcom/igexin/sdk/PushManager;特么找了两个小时原因
后来改成这样好了
<feature name="Push" value="io.dcloud.feature.aps.APSFeatureImpl">
<module name="unipush" value="io.dcloud.feature.unipush.GTPushService"/>
</feature>
改成
<feature name="Push" value="io.dcloud.feature.aps.APSFeatureImpl" />
麻烦你们 关注一下 该关掉的帖子关一下 更新一下
2022-10-22 02:59
y***@163.com

y***@163.com

华为离线推送:
```
问题1:根据上面配置都已完成,应用在线收到dcloud(cldid)的推送消息,应用离线无法收到
问题2:怎样才能获取华为推送平台的token。
```

希望知道的大佬帮忙解决一下,感谢!
2022-03-11 10:23
2***@qq.com

2***@qq.com

回复 1***@qq.com :
解決了嗎?
2020-12-02 11:32
2***@qq.com

2***@qq.com

离线sdk里 引入这两个包之后,就开始报错了 Cause: duplicate entry: META-INF/MANIFEST.MF,有沒有解決方案
2020-12-02 11:32
1***@163.com

1***@163.com

"plus.unipush.appkey" : "b7dOGlNPHR7pqwUxcXPVi45",
"plus.unipush.appsecret": "IxVYAT9qws8dlNElacmSg12",

是什么东西 在哪查询
2020-10-13 16:23
木头人001

木头人001

回复 1***@qq.com :
我也是报这个错误,不知道什么原因。有谁解决了吗?
2020-09-23 23:23
s***@it-tec.com.cn

s***@it-tec.com.cn

想问个问题,这个unipush如果是云打包,厂商推送能收到吗,还是必须要这种离线打包。有没有官方的人啊,遇到问题连个电话也没有,这公司还能行吗?
2020-08-28 17:16
3***@qq.com

3***@qq.com

回复 1***@qq.com :
解决了吗?同样的问题
2020-08-06 19:31