怎么实现点击跳转自定义页面

怎么实现点击跳转自定义页面

安卓点击消息如何实现页面跳转

  • 在线收到个推消息

    • 若推送的是透传消息,则可以在透传内容中设置自定义参数值,开发者自行在透传回调onReceiveMessageData中监听相关自定义参数值处理后续内部页面跳转问题。

    • 若推送的是通知模板消息:

    1)click_type设置intent类型,intent里按要求设置App内部的Activity路径,点击通知后跳转到设置的Activity页面。

    2)click_type设置payload类型,payload里设置自定义参数值,点击通知后,payload里的内容传进客户端透传回调,开发者在该回调中自行处理跳转。

  • 离线收到厂商消息

    • push_channel(或老版本-notify)消息体中,click_type设置intent类型,intent里按要求设置App内部的Activity路径,点击通知后跳转到设置的Activity页面。

安卓离线点击通知跳转失败

  • 检查设置的Activity路径是否正确,在应用内是否可以正常跳转。
  • 指定的activity客户端manifest是否配置exported=true属性
  • intent设置的参数是否有特殊字符,比如Scheme链接有#符号,如有,可以urlencode编码处理,参数在经过Android系统接收后,会自动进行解码处理。(一般影响小米、华为手机)
  • 检查指定跳转的Activity是否有设置data属性,如有,可新建一个过滤器单独配置action属性(只影响oppo手机)。
  • 检查设备是否有禁止后台弹出界面,路径>>设置-应用管理-测试应用-权限管理-后台弹出界面,(一般是小米、oppo、vivo设备)。
  • 检查指定的Activity是否使用了两个参数的onCreate方法,导致没有获取到自定义参数值,影响根据参数的跳转逻辑。
  • 如果是oppo手机,点击消息无法跳转app。检查客户端被启动的Activity,是否有配配置:<action android:name="android.intent.action.VIEW"/>,详见:intent生成

iOS点击APNs通知跳转应用内对应页面的实现

在线

  • 推送在线透传消息,则可以在透传内容中设置自定义参数值,开发者自行在透传回调GeTuiSdkDidReceiveSlience中监听相关自定义参数值处理后续内部页面跳转问题。

离线

  • 新版服务端设置苹果离线消息体代码中通过payload参数去设置,参照添加APNs自定义参数,当客户端收到APNs通知栏提醒并点击会触发客户端 GeTuiSdkDidReceiveNotification方法,获取payload参数数据,获取到之后您可以自己解析处理跳转。( 老版本服务端参照java的代码payload.addCustomMsg("由客户自定义消息key", "由客户自定义消息value"); )

    {
     "ios":{
         "type":"notify",
         "payload":"自定义消息",
         "aps":{
             "alert":{
                 "title":"通知标题",
                 "body":"通知内容"
             },
             "content-available":0,
             "sound":"default"
         },
         "auto_badge":"+1"       
     }
    }
    
    复制
    
  • 扩展场景:部分用户希望效果是先打开app首页,再跳转到指定的页面;该场景对应的是在transmissioncontent中添加对应参数,客户端收到通知后打开app首页,在 GeTuiSdkDidReceiveSlience 中拿到transmissioncontent的内容,然后处理跳转。

离线点击拿不到自定义参数

  • ios冷启动情况下通过通知栏点击消息唤起app,只会走launchoption处理apns逻辑的代码,可以到launchOptions里面去获取自定义参数

​ 获取代码: [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

开发者中心 SDK 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询