推送-客户端其他常见问题

推送-客户端其他常见问题

一、android客户端

1、别名、标签推送收不到问题

  • 推送别名、标签前,需要将客户端CID与自定义的别名、标签进行绑定动作,绑定成功后,推送别名和标签才能将消息推送给别名、标签下对应绑定的CID。
  • 客户端绑定别名、标签,请在CID回调后,去调用绑定别名、标签接口,否则会出现绑定失败的问题。
  • 在【消息推送】-【配置管理】-【别名管理】/【应用标签】可输入别名、CID/标签名,进行查询CID是否与别名和标签绑定成功;若因页面数据延迟问题查无结果,可提供别名、CID/标签名给到个推技术支持进行确认。
    img
  • 别名相关限制
    • 别名名称:长度40字节,支持中、英文(区分大小写)、数字以及下划线
    • 一个CID一天绑定别名和解绑别名次数各有50次机会
    • 一个别名下最多绑定10个CID,若超出10个,则绑定后者,剔除第一个已绑定的CID,以此类推;一个CID只能绑定一个别名,若超出则以最后一次绑定的别名为准。
  • 标签相关限制
    • 标签名称:长度32字节,中文、英文字母(大小写)、数字、除英文逗号以外的其他特殊符号
    • 一个CID一天默认绑定只有一次标签绑定次数。
    • 一个CID默认可支持100个标签,标签的绑定是全量覆盖的,后面一次的覆盖前面一次的 。

2、平台【预览】返回clientid离线

  • 推送时的【预览】功能目前只支持测试个推在线通道,也就是CID在线的状态下;
  • 若是想测试离线,不需要输入clientid,直接点击【确定】进行推送即可。

3、平台测试返回没有对该cid的操作权限

  • 每个APP应用都有各自的一套Appid、Appkey、 AppSecret、 MasterSecret参数,个推的CID与应用的Appid有对应绑定关系,以此来区分定位到各个手机上的app的。
  • 请检查CID对应的个推Appid与您测试的个推Appid是否是同一个。

4、在Android 13设备上,应用的通知默认处于关闭状态,此时用户无法接收通知栏消息,应用如何进行适配?

  • 1)若应用的targetSdkVersion为33或更高版本,您的应用需要注册新的通知权限“POST_NOTIFICATIONS”,且动态申请该应用权限
  • 2)若应用的targetSdkVersion为32或更低版本,根据集成的个推和厂商SDK版本分如下两种场景:
    • 您的应用需要拉起通知栏开关页面。
    • 您的应用发消息时会有消息权限对话框弹出。

5、个推平台特殊机型参数保存失败

  • 需要去对应失败的厂商平台上查询推送服务状态是否是开启的,参数是否填写正确。
  • 刷新、清空浏览器缓存或者更换浏览器进行保存尝试。

6、平台【故障排查】-【推送测试】返回error,code:80502

  • 【推送测试】功能目前是停止维护的状态,后期会去除该模块,因此目前建议您不要使用该功能,若需要推送测试,可直接在【创建推送】中直接建立推送进行测试。

7、找不到OPPO的mastersecret参数

  • OPPO平台的mastersecret参数需要在应用通过推送审核后,使用主账号在oppo推送平台-配置管理-应用配置 页面查看。

    img

8、Android 5.0个推自定义权限冲突?

  • 目前有许多客户在Android 5.0系统上接入个推SDK时,会发现如果其他集成个推SDK的应用已经安装在手机,此应用就不能再安装上去,会出现权限冲突。报错信息如下:

    STALL_FAILED_DUPLICATE_PERMISSION perm=getui.permission.GetuiService pkg=你的应用包名]
    复制
    

    对此个推对权限配置做了如下修改

    <permission
    android:name="getui.permission.GetuiService.你的应用包名"
    android:protectionLevel="normal" >
    

9、个推SDK对电量和流量消耗如何?

  • SDK特意针对手机优化,空载耗电每日15-50毫安,空载流量0.8-1.2M/月

10、免费用户和VIP用户有哪些区别?

  • VIP用户在免费用户的基础上推送频次更高,推送速度更快,此外还可以享受更多进阶功能和更高级的数据统计服务。详情参见个推消息推送产品价格页

二、ios客户端

1、未找到应用程序的“aps-environment”的权利字符串" 问题

报错内容:

error    NSError * domain: @"NSCocoaErrorDomain" - code: 3000    0x17e83560

NSObject NSObject          

isa    Class         NSError    0x3917ee90

_reserved         void *        NULL         0x00000000

_code       NSInteger         3000         3000

_domain  __NSCFString *         @"NSCocoaErrorDomain"       0x17e26d80

_userInfo __NSDictionaryI *    1 key/value pair        0x17e29110

[0]    (null)         @"NSLocalizedDescription" : @"未找到应用程序的“aps-environment”的权利字符串"      

key   __NSCFConstantString * @"NSLocalizedDescription"    0x39185db0

value         __NSCFString *         @"未找到应用程序的“aps-environment”的权利字符串"      0x1be0ea90


复制
  • 在Demo-info.plist中加aps-environment字段,或development字段,或production字段,根据XCode具体提示操作添加。
    img
  • 在用到Push Notification的时候很容易碰到这个问题,解决办法也比较简单,第一,确认您在apple dev portal里面把相应appid做成类似com.company.appname这样子,然后在profile配置里面点configure,把sandbox或者product的push打开,最后把这个profile download下来,装到手机和XCode里面去,这里要注意,一定要先把push的功能在configure里面配置好了然后再download这个profile,更新手机和XCode,如果您不确定是先download还是先configure的,那么一个最保险的办法就是先configure,然后到profile那里点击modify,把profile改成一个新的名字,把这个新的profile安装到手机和Xcode里面,这样就没有问题了。

2、GTSDK 和 GTExtensionSDK 类冲突问题

如下图所示,如果出现 GTSDK 和 GTExtensionSDK 两个库中类冲突问题,原因是将两个库合成到同一个Target上,导致两个库冲突。而个推接入中两个库分别独立使用,GTSDK 在主 Target 上使用,GTExtensionSDK 在 NotificationService Target 上使用,不需要也不能将两个库一起引用到同一个 Target 上。

或是cocoapods集成使用了use_framework!的原因

img

解决方案:

CocoaPods集成方式: 如下图,在GTExtensionSDK中使用静态库方式配置

img

手动集成方式: 同一个Target中不要同时集成二个SDK库,GTSDK 在主 Target 上使用,GTExtensionSDK 在 NotificationService Target 上使用。

3、苹果证书上传后,选开发环境不对,选生产环境也不对;

  • 导证书不要把钥匙串也导进来,解决按着证书生成文档重新导出次,单独选择证书;

    img

4、推送数据中APNs渠道展示数一直为0

  • 由于苹果对外没有提供数据报表统计,因此走APNs通道的展示数和点击数都需要客户端埋点上报给个推统计,否则数据将一直为0。
  • 展示数埋点:客户端需要添加通知扩展并集成GTExtension,做好展示统计埋点。具体参考iOS集成指南第6步。
  • 点击数埋点:GTSDK>=2.5.2.0版本APNs的点击统计,个推已内部做好统计处理,无须开发者手动埋点。

5、Please Use [GeTuiSdk registerRemoteNotification:]报错

[INFO] GeTuiSdk:Error Domain=com.getui.www Code=-400 "Missing UNUserNotificationCenter Delegate, Please Use [GeTuiSdk registerRemoteNotification:]" UserInfo={NSLocalizedDescription=Missing UNUserNotificationCenter Delegate, Please Use [GeTuiSdk registerRemoteNotification:]}
复制
  • 请只通过个推调用注册通知方法,不要使用其他方式注册通知

6、crash hookMethods 报错

  • 客户端项目里需要添加 Other Linker Flags: -ObjC

7、证书替换更新多久生效

  • 官网平台iOS切换证书1分钟生效

8、pod无法获取最新版本sdk

  • 执行Pod repo update

9、XCode编译错误__isPlatformVersionAtLeast

  • 请使用最新XCode版本进行编译

10、后台模式无端被开启

  • 老版本若开启了后台运行,需要再次设置关闭后台模式才会关闭,否则默认开启,开关状态会存储在本地。

    GeTuiSdk runBackgroundEnable:NO
    复制
    

11、通知扩展中多媒体推送图片的大小是否可以修改

  • 需要开发者自行通过NotificationContent实现自定义通知UI样式

12、(void)bindAlias:(NSString )alias andSequenceNum:(NSString )aSn

  • aSn这个值是为了区分请求的唯一值,例如,多次请求命令时,在返回结果的回调中区分是哪次的请求命令,不然回调中不知道是哪次的请求结果,这个值开发者可以自己定义。

13、上传证书处测试一下返回情况说明

  • 返回成功:说明客户端环境与上传的证书环境是一致的,这种情况测试一下,手机上会收到一条测试消息
  • 返回无效:说明客户端环境与上传的证书环境是不一致的或者上传证书的bundle ID与客户端应用的不一致 。一般情况下,连着XCode调试的,对应开发环境;打成正式包上传app store的或者 ad hoc的模式包,对应生产环境
  • 连接失败:说明上传的证书有问题,需要根据官网证书配置指南步骤重新导出上传下

14、SDK是否包含UIWebView

  • 不包含

15、iOS推送多媒体资源,手机上点击PUSH进入NotificationService的个推API调用,block回调了error

img

  • ios-2.6.0.0,GTExtensionSDK-Version: 2.5.4版本之前推送多媒体资源提交给系统的时候必须要指定后缀
  • ios-2.6.0.0,GTExtensionSDK-Version: 2.5.4版本之后优化推送多媒体信息时,如果url中没有扩展名,默认根据apn下发的payload中type字段为扩展名,type默认支持 jpg、mp3、mp4
开发者中心 SDK 下载

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询