后台返回改用户的标签数组给我

时间:2019-10-03 05:19来源:快三平台下载编程
导入框架 Cocoapods 导入 pod 'JPush', '3.1.0' 手动导入(对比辛勤,不是很推荐) 在极光官方网址下载最新 SDK 将 SDK 包解压,在 Xcode 中精选 “Add files to 'Your projectname'...”,将解压后的 lib 子文件
  1. 导入框架
  • Cocoapods 导入
pod 'JPush', '3.1.0'
  • 手动导入(对比辛勤,不是很推荐)
    1. 在极光官方网址下载最新 SDK
    2. 将 SDK 包解压,在 Xcode 中精选 “Add files to 'Your project name'...”,将解压后的 lib 子文件夹(富含JPUSHService.h、jpush-ios-x.x.x.a、jcore-ios-x.x.x.a )增添到您的工程目录中。3.加多 Framework
      • CFNetwork.framework
      • CoreFoundation.framework
      • CoreTelephony.framework
      • SystemConfiguration.framework
      • CoreGraphics.framework
      • Foundation.framework
      • UIKit.framework
      • Security.framework
      • libz.tbd
      • UserNotifications.framework
      • libresolv.tbd

瞩目: 假若集成 JPush 3.0.1 及以上版本, 且同不时候并入极光别的SDK(如:JMessage 3.0.0 及以上版本)1. Cocoapods 导入,提出都更新为线上流行版本,来幸免 JCore 版本不雷同导致的争持。2. 手动导入,在工程中只需保存贰个风靡版本的 jcore-ios-x.x.x.a 静态库文件。

  1. 开启Target 的 Capabilities->Push Notifications 选项,如图:

    图片 11.jpg

  2. 在AppDelegate.m里引入

// 引入 JPush 功能所需头文件#import "JPUSHService.h"// iOS10 注册 APNs 所需头文件#ifdef NSFoundationVersionNumber_iOS_9_x_Max#import <UserNotifications/UserNotifications.h>#endif
  1. 伊始化请将以下代码增多到didFinishLaunchingWithOptions:(NSDictionary *)launchOptions里JpushAppKey是你报名的key那边是我们常常会犯错的地方,apsForProduction:NO代表选择的是支付证书,YES代表接纳生产证书发表应用
 //初始化APNs JPUSHRegisterEntity * entity = [[JPUSHRegisterEntity alloc] init]; entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound|JPAuthorizationOptionProvidesAppNotificationSettings; [JPUSHService registerForRemoteNotificationConfig:entity delegate:self]; //初始化JPush #ifdef DEBUG [JPUSHService setupWithOption:launchOptions appKey:JpushAppKey channel:@"App store" apsForProduction:NO]; #else [JPUSHService setupWithOption:launchOptions appKey:JpushAppKey channel:@"App store" apsForProduction:YES]; #endif
  1. 为 AppDelegate 增添 Delegate(JPUSHRegisterDelegate) 并加上回调方法
@interface AppDelegate ()<JPUSHRegisterDelegate>- application:(UIApplication *)applicationdidRegisterForRemoteNotificationsWithDeviceToken:deviceToken { // Required - 注册 DeviceToken [JPUSHService registerDeviceToken:deviceToken];}@end
  1. 加上管理 APNs 文告回调方法
#pragma mark- JPUSHRegisterDelegate// iOS 12 Support- jpushNotificationCenter:(UNUserNotificationCenter *)center openSettingsForNotification:(UNNotification *)notification{ if (notification && [notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) { //从通知界面直接进入应用 }else{ //从通知设置界面进入应用 }}// iOS 10 Support- jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(NSInteger))completionHandler { // Required NSDictionary * userInfo = notification.request.content.userInfo; if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) { [JPUSHService handleRemoteNotification:userInfo]; } completionHandler(UNNotificationPresentationOptionAlert); // 需要执行这个方法,选择是否提醒用户,有 Badge、Sound、Alert 三种类型可以选择设置}// iOS 10 Support- jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:completionHandler { // Required NSDictionary * userInfo = response.notification.request.content.userInfo; if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) { [JPUSHService handleRemoteNotification:userInfo]; } completionHandler(); // 系统要求执行这个方法}- application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(UIBackgroundFetchResult))completionHandler { // Required, iOS 7 Support [JPUSHService handleRemoteNotification:userInfo]; completionHandler(UIBackgroundFetchResultNewData);}- application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // Required, For systems with less than or equal to iOS 6 [JPUSHService handleRemoteNotification:userInfo];}
  1. 上传registrationID给服务器端(也得以设置小名,设置外号也在那边写)
[JPUSHService registrationIDCompletionHandler:^(int resCode, NSString *registrationID) { ZPLog(@"------>registrationID: %@",[JPUSHService registrationID]); //上传极光registrationID给服务器 }];

公司推送后台

  1. 标签类型
  • 项目
  • 性别
  • 年龄
  • 客户类型

    图片 21.png

  1. 查阅通告后的动作
  • 暗许张开app
  • 开荒app里的有个别模块
  • 张开网页

    图片 32.png

思路:本来是想App 客户登陆成功后,后台重回改客商的标签数组给自家,然后自身调用此 API 来安装标签.但是发掘那些标签中有个年纪,借使顾客登陆后,一向不脱离,那她的标签里的年纪平昔就没变. 切磋后,由小编App那边本身组装好和后台约定的顾客的竹签数组,然后每一回张开App,都设置一下标签
/** 覆盖tags 调用该接口会覆盖用户所有的tags @param tags 需要设置的tags集合 @param completion 响应回调 @param seq 请求序列号 */+ setTags:(NSSet<NSString *> *)tags completion:(JPUSHTagsOperationCompletion)completion seq:(NSInteger)seq;

周围收不到文告的来由

  • 条件不对,先检查顾客端的格局开头化代码中 apsForProduction:isProduction 的值要求与客商端的注解景况保持一致
  • 后台Api推送的话再去看后台的,后台也是有一个布署生产可能测量检验遇到的属性.
  • 前后端的appkey不等同

比如你找不到原因,提议您能够加qq群445928015,极光有行业内部的客服工作日在线答疑.笔者动用过大多三方服务,首次见不买下账单的非VIP客商也会被客服耐心解答的,日常蒙受一样的标题客服也是非常有耐心,极其难得.

编辑:快三平台下载编程 本文来源:后台返回改用户的标签数组给我

关键词: