推送:个推

优质
小牛编辑
162浏览
2023-12-01

一、基础配置

第一步:创建个推账号

如没有个推账号,需要创建个推推送账号及应用,获得AppID、AppKey和Master Secret 参数。如下图所示:

第二步:在智能触达中配置个推账号

在诸葛「智能触达→设置→触达渠道→推送消息」中,找到「个推推送」,填入上一步中得到的AppKey和Master Secret参数并完成开通。

第三步:确认SDK中添加推送逻辑代码

按照个推最新的开发文档集成时,在你定义的用于接收CID,透传消息及其他服务事件的,继承自com.igexin.sdk.GTIntentService的类中,添加如下代码:

Android:

public class DemoIntentService extends GTIntentService {

    public DemoIntentService() {

    }
    @Override
    public void onReceiveClientId(Context context, String clientid) {
        Log.e(TAG, "onReceiveClientId -> " + "clientid = " + clientid);
        ZhugeSDK.getInstance().setThirdPartyPushUserId(ZhugeSDK.PushChannel.GETUI, clientid);
     }
}

iOS:

- (void)GeTuiSdkDidReceiveSlience:(NSDictionary *)userInfo fromGetui:(BOOL)fromGetui offLine:(BOOL)offLine appId:(NSString *)appId taskId:(NSString *)taskId msgId:(NSString *)msgId fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    // [ GTSDK ]:汇报个推自定义事件(反馈透传消息),开发者可以根据项目需要决定是否使用, 非必须
    // [GeTuiSdk sendFeedbackMessage:90001 andTaskId:taskId andMsgId:msgId];
    NSString *msg = [NSString stringWithFormat:@"[ TestDemo ] [APN] %@ \nReceive Slience: fromGetui:%@ appId:%@ offLine:%@ taskId:%@ msgId:%@ userInfo:%@ ", NSStringFromSelector(_cmd), fromGetui ? @"个推消息" : @"APNs消息", appId, offLine ? @"离线" : @"在线", taskId, msgId, userInfo];

    [[Zhuge sharedInstance] setThirdPartyPushUserId:appId forChannel:ZG_PUSH_CHANNEL_GETUI];

    if(completionHandler) {
        // [ 参考代码,开发者注意根据实际需求自行修改 ] 根据APP需要自行修改参数值
        completionHandler(UIBackgroundFetchResultNoData);
    }
}

二、具体操作

第一步:选择执行动作-推送

在智能触达的活动模块中,创建一个新自动活动,选择“推送”作为要执行的动作。

第二步:填写并保存推送内容

你可以自定义推送的标题和内容,支持在文本中插入用户属性用作个性化展示。 Eg:设置一个推送模板“ 你好 {名称},感谢您注册诸葛io ”, 在发给具体用户的时候,{名称}的位置会展示该用户的名称, “你好 张晓华,感谢您注册诸葛io”

注意:只有Android用户会展示推送标题,iOS用户不会展示推送标题

三、注意事项

给用户推送失败,可能包含以下原因:

  • 该用户没有正常使用过正确接入SDK后的App (致使诸葛未能获得该用户推送token,而真实推送必须要获得具体用户的推送token )
  • 该用户插入的用户属性值为空(eg:如上例,名称为空)
  • 第三方推送平台秘钥填错或重置
  • 第三方推送平台接口出错