1. 别名alias:标识应用程序用户,一个用户一个别名,一个别名却可以指定多个用户。
2. 标签tag: 方便把用户分类,一个标签可以有多个用户,一个用户也可以被打上不同的标签。就像选课,一门课可以有多个学生,一个学生也可以上多门课,当某一门课开课的时候,可以给上这门课的学生发送消息。
3.RegistrationID:应用程序在第一次成功注册到 JPush 服务器时,JPush 服务器会给客户端返回一个唯一的该设备的标识 - RegistrationID。JPush SDK 会以广播的形式发送 RegistrationID 到应用程序。反之,应用程序也可以把此 RegistrationID 保存以自己的应用服务器上,然后就可以根据 RegistrationID 来向设备推送消息或者通知。
4. Badge: badge是iOS用来标记应用程序状态的一个数字,出现在程序图标右上角。
+ (
void
)setTags:(NSSet *)tags alias:(NSString *)alias callbackSelector:(SEL)cbSelector object:(id)theTarget;
参数说明
|
theTarget
+ (
void
)setAlias:(NSString *)alias callbackSelector:(SEL)cbSelector object:(id)theTarget;
|
设置 tags 时,如果其中一个 tag 无效,则整个设置过程失败。
如果 App 的 tags 会在运行过程中动态设置,并且存在对 JPush SDK tag 规定的无效字符,则有可能一个 tag 无效导致这次调用里所有的 tags 更新失败。
这时你可以调用本方法 filterValidTags 来过滤掉无效的 tags,得到有效的 tags,再调用 JPush SDK 的 set tags / alias 方法。
+ (NSSet*)filterValidTags:(NSSet*)tags;
5. setBadge----设置JPush服务器中存储的badge值
+(BOOL)setBadge:(
int
)value--
value的取值范围:[0,99999]////////设置badge值,本地仍须调用UIApplication:setApplicationIconBadgeNumber函数
6, resetBadge----清空JPush服务器中存储的badge值,即[APService resetBadge];
推送注意问题:1.提示“You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.” 解决:在项目配置的Capabilities菜单的Background Modes菜单中选中“Remote notification”。如果没有看到选项菜单,需要将Background Modes菜单打到ON状态。 2.提示“Not get deviceToken yet. Maybe: your certificate not configured APNs? or current network is not so good so APNs registration failed? or there is no APNs register code? Please refer to JPush docs.” 原因:我的CodeSigning中的Provision Profile没有选择正确,原因是我在apple的dev中心修改了配置,但没有更新到xcode。更新可以在账户管理中找到,xcode菜单在Xcode->Preferences->account选项卡,在Apple IDs中找到你得账号,点击右下角的view detail按钮,在弹出的窗口中点击左下角的刷新按钮即可刷新最新的Provision Profile。最后在CodeSigning中的Provision Profile中选择最新的值即可。 |