魅族推送集成

本文详细介绍了如何在Android应用中集成魅族推送服务。首先,需在project和app的build.gradle文件中添加相关依赖和仓库。接着,在清单文件中添加权限并注册广播接收者。在自定义的Application中完成初始化并注册。成功后,通过onRegisterStatus回调获取PushId,该标识用于魅族开放平台进行消息推送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在project下得build.gradle文件中添加魅族依赖仓库

maven {url 'https://oss.jfrog.org/artifactory/oss-snapshot-local'}//魅族maven仓路径

然后在app下得build.gradle下添加

dependencies {
    api 'com.meizu.flyme.internet:push-internal:3.6.+@aar'
}

然后在清单文件中添加权限(将package_name换成自己应用得包名)

    <!-- 兼容flyme5.0以下版本,魅族内部集成pushSDK必填,不然无法收到消息-->
    <uses-permission android:name="com.meizu.flyme.push.permission.RECEIVE"></uses- 
    permission>
    <permission android:name="package_name.push.permission.MESSAGE" 
    android:protectionLevel="signature"/>
    <uses-permission android:name="package_name.push.permission.MESSAGE"></uses- 
    permission>

    <!--  兼容flyme3.0配置权限-->
    <uses-permission android:name="com.meizu.c2dm.permission.RECEIVE" />
    <permission android:name="package_name.permission.C2D_MESSAGE"
        android:protectionLevel="signature"></permission>
    <uses-permission android:name="package_name.permission.C2D_MESSAGE"/>

然后注册广播接收者(将package_name换成自己应用中的包名)

        <!-- push应用定义消息receiver声明 -->
        <receiver android:name=".MyPushMsgReceiver">
            <intent-filter>
                <!-- 接收push消息 -->
                <action android:name="com.meizu.flyme.push.intent.MESSAGE" />
                <!-- 接收register消息 -->
                <action android:name="com.meizu.flyme.push.intent.REGISTER.FEEDBACK" />
                <!-- 接收unregister消息-->
                <action android:name="com.meizu.flyme.push.intent.UNREGISTER.FEEDBACK"/>
                <!-- 兼容低版本Flyme3推送服务配置 -->
                <action android:name="com.meizu.c2dm.intent.REGISTRATION" />
                <action android:name="com.meizu.c2dm.intent.RECEIVE" />
                <category android:name="package_name"></category>
            </intent-filter>
        </receiver>

然后在自己的application中初始化,开始注册

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        if(MzSystemUtils.isBrandMeizu(this)){
            PushManager.register(this, appid, appkey);
        }
    }
}

别忘了在清单文件中将MyApplication注册一下。

然后就是我们自定义的广播接收者了

public class MyPushMsgReceiver extends MzPushMessageReceiver {
    @Override
    public void onRegister(Context context, String pushId) {

    }

    @Override
    public void onUnRegister(Context context, boolean success) {

    }

    @Override
    public void onPushStatus(Context context, PushSwitchStatus pushSwitchStatus) {

    }

    @Override
    public void onRegisterStatus(Context context, RegisterStatus registerStatus) {
        Log.i("lng", "onRegisterStatus: " + registerStatus.toString());
    }

    @Override
    public void onUnRegisterStatus(Context context, UnRegisterStatus unRegisterStatus) {

    }

    @Override
    public void onSubTagsStatus(Context context, SubTagsStatus subTagsStatus) {

    }

    @Override
    public void onSubAliasStatus(Context context, SubAliasStatus subAliasStatus) {

    }
}

然后订阅成功了之后在onRegisterStatus的回调中打印一下registerStatus.toString得到日志信息

2019-05-28 16:21:03.140 14032-14049/com.example.mz_push I/lng: onRegisterStatus: BasicPushStatus{code='200', message='already register PushId,dont register frequently'}pushId='************************************', Become invalid after 595845 seconds }

然后code200代表成功,然后打印出来的PushId就是我们用户需要给后台传递的,也就是魅族开放平台需要的唯一标志,根据唯一标志给客户端进行消息的推送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值