MobPush 指定页面跳转最佳实现

2年前 (2022) 程序员胖胖胖虎阿
142 0 0

使用Scheme进行指定页面跳转

iOS 客户端代码配置

请在需要跳转到的指定VC中实现以下代码,其中mlink://com.mob.mobpush.link为还原路径标识

#import <MobPush/MobPush.h>

#pragma mark ---场景还原---
//点击推送场景还原路径
+ (NSString *)MobPushPath
{
    return @"mlink://com.mob.mobpush.link";
}
//点击推送场景还原页面参数
- (instancetype)initWithMobPushScene:(NSDictionary *)params
{
    if (self = [super init])
    {
        //self.params = params;
    }
    return self;
}

Android 客户端代码配置

在AndroidMainfest中配置对应指定落地页的activity

 <activity android:name="com.markliu.pushdemo.MainActivity2" android:exported="true"   android:launchMode="singleTask">

            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data
                    android:host="com.mob.mobpush.link"
                    android:scheme="mlink" />
            </intent-filter>
        </activity>

MobPush后台推送配置

MobPush 指定页面跳转最佳实现

通过REST API

MobPush 指定页面跳转最佳实现

详情参考推送接口

通过通知回调,处理对应参数进行跳转

iOS回调方法设置

//添加通知监听,监听后可通过对应方法获取到推送参数 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveMessage:) name:MobPushDidReceiveMessageNotification object:nil];

Android 端回调(安卓端厂商消息,需要通过解析intent处理,可参考解析参数最佳实现)

此消息回调只能处理TCP消息,厂商消息需要解析intent

MobPushReceiver mobPushReceiver = new MobPushReceiver() {

            @Override
            public void onCustomMessageReceive(Context context, MobPushCustomMessage message) {
                //接收到自定义消息(透传消息)
                message.getMessageId();//获取任务ID
                message.getContent();//获取推送内容
            }

            @Override
            public void onNotifyMessageReceive(Context context, MobPushNotifyMessage message) {
                //接收到通知消息
                message.getMobNotifyId();//获取消息ID
                message.getMessageId();//获取任务ID
                message.getTitle();//获取推送标题
                message.getContent();//获取推送内容
//                Log.i(TAG, "onCreate: aaaa");
                System.out.println("-------------JsonSchemeShouyeoncreate我收到了回调:"+"11111111");
//                System.out.println("-------------markLiujsonOncrearte:"+ message.getContent());
            }

            @Override
            public void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage message) {
                //通知被点击事件
                message.getMobNotifyId();//获取消息ID
                message.getMessageId();//获取任务ID
                message.getTitle();//获取推送标题
                message.getContent();//获取推送内容
                System.out.println("-------------JsonSchemeShouyeoncreate打印查看:"+"11111111");
            }

            @Override
            public void onTagsCallback(Context context, String[] tags, int operation, int errorCode) {
                //标签操作回调
                //tags: RegistrationId已添加的标签
                //operation: 0获取标签 1设置标签 2删除标签
                //errorCode: 0操作成功 非0操作失败
            }

            @Override
            public void onAliasCallback(Context context, String alias, int operation, int errorCode) {
                //别名操作回调
                //alias: RegistrationId对应的别名
                //operation: 0获取别名 1设置别名 2删除别名
                //errorCode: 0操作成功 非0操作失败
            }

        };
        MobPush.addPushReceiver(mobPushReceiver);

解析参数最佳实现

解析参数最佳实现

版权声明:程序员胖胖胖虎阿 发表于 2022年11月3日 上午2:48。
转载请注明:MobPush 指定页面跳转最佳实现 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...