写点什么

MobPush 指定页面跳转最佳实现

  • 2022 年 9 月 02 日
    上海
  • 本文字数:1811 字

    阅读完需:约 6 分钟

使用 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 后台推送配置


通过 REST API


详情参考推送接口


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

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);
复制代码


解析参数最佳实现

解析参数最佳实现

用户头像

还未添加个人签名 2019.05.08 加入

还未添加个人简介

评论

发布
暂无评论
MobPush 指定页面跳转最佳实现_ios_MobTech袤博科技_InfoQ写作社区