友盟 集成到 java web_友盟消息推送SDK集成

本文详细介绍了如何将友盟的消息推送SDK集成到Java Web应用中,包括在友盟创建应用、上传APNs证书、下载SDK、配置工程、初始化注册、处理消息推送等步骤,以及如何在开发环境中测试推送功能。
摘要由CSDN通过智能技术生成

1.创建应用

在友盟有账号的情况下(没有的请自行创建),创建应用之前需要去苹果开发者网站申请一个App ID和配置一个用于推送的APNs证书,下载并安装APNs推送证书后,打开钥匙串从这个证书导出一个.P12的证书文件并保存下来用于创建应用。对APNs证书不了解的可以参考宏创学院提供的证书设置指南:

首先在友盟消息推送功能中创建一个应用,上传我们的证书:

d13304fce0dd

创建好应用后进入应用详情页面,点击应用信息,可以看到我们的AppKey和App Master Secret,证书也可以在这里进行修改。

d13304fce0dd

d13304fce0dd

选择合适版本的SDK,下载下来之后解压压缩包,找到UMessage_Sdk_1.2.3(1.2.3为版本号,本文以1.2.3示例) 文件夹,里面就是我们需要的文件了(一个.a的库文件,一个.h头文件)。

d13304fce0dd

将上述的UMessage_Sdk_1.2.3文件夹拖入工程,若工程的Other Linker Flag中设置了-all_load,则需要添加libz.dylib(iOS 9为lib.tbd)库

在AppDelegate类中引入头文件Message.h,在AppDelegate.m的application:didFinishLaunchingWithOptions方法中初始化并注册友盟推送

//初始化友盟推送

[UMessagestartWithAppkey:@"568cd65be0f55ac5610017ea"launchOptions:launchOptions];

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0

//iOS 8之后使用此种方法注册

if([[[UIDevicecurrentDevice]systemVersion]floatValue]>=8.0){

//远程消息注册类型

UIMutableUserNotificationAction*action1=[[UIMutableUserNotificationActionalloc]init];

action1.identifier=@"action1_identifier";

action1.title=@"Accept";

action1.activationMode=UIUserNotificationActivationModeForeground;// 当点击的时候启动程序

// 第二按钮

UIMutableUserNotificationAction*action2=[[UIMutableUserNotificationActionalloc]init];

action2.identifier=@"action2_identifier";

action2.title=@"Reject";

// 当点击的时候不启动程序,在后台处理

action2.activationMode=UIUserNotificationActivationModeBackground;

// 需要解锁才能处理,如果action.activationMode = UIUserNotificationActivationModeForeground;则下面这个属性被忽略

action2.authenticationRequired=YES;

action2.destructive=YES;

UIMutableUserNotificationCategory*categorys=[[UIMutableUserNotificationCategoryalloc]init];

// 这组动作的唯一标示

categorys.identifier=@"category1";

[categorys setActions:@[action1,action2]forContext:(UIUserNotificationActionContextDefault)];

UIUserNotificationTypetypes=UIUserNotificationTypeBadge

|UIUserNotificationTypeSound

|UIUserNotificationTypeAlert;

UIUserNotificationSettings*userSettings=[UIUserNotificationSettingssettingsForTypes:types

categories:[NSSetsetWithObject:categorys]];

[UMessageregisterRemoteNotificationAndUserNotificationSettings:userSettings];

}else{

// 远程消息注册类型

UIRemoteNotificationTypetypes=UIRemoteNotificationTypeBadge

|UIRemoteNotificationTypeSound

|UIRemoteNotificationTypeAlert;

[UMessageregisterForRemoteNotificationTypes:types];

}

#else

// iOS8.0之前使用此注册

// 远程消息注册类型

UIRemoteNotificationTypetypes=UIRemoteNotificationTypeBadge

|UIRemoteNotificationTypeSound

|UIRemoteNotificationTypeAlert;

[UMessageregisterForRemoteNotificationTypes:types];

#endif

//打开调试日志

[UMessagesetLogEnabled:YES];

//不自动清空角标

[UMessagesetBadgeClear:NO];

//app发送渠道,默认为APP Store

[UMessagesetChannel:nil];

消息处理方法

//向友盟注册deviceToken

-(void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken{

//打印deviceToken

NSLog(@"%@",[[[[deviceToken description]stringByReplacingOccurrencesOfString:@""withString:@""]

stringByReplacingOccurrencesOfString:@" "withString:@""]);

//注册deviceToken

[UMessageregisterDeviceToken:deviceToken];

}

//注册远程通知失败

-(void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error{

NSLog(@"注册推送失败,具体错误:%@",error);

}

//收到推送消息时调用

-(void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo{

[UMessagedidReceiveRemoteNotification:userInfo];

}

如果需要关闭推送,使用[UMessage unregisterForRemoteNotifications]

由于使用的是开发环境,所以推送的时候,需要在友盟注册的应用中添加一个测试设备用来测试。将前面的代码集成到项目里以后,使用真机运行项目,提示注册成功后可以在debug信息中看到获取的DeviceToken,将DeviceToken拷贝下来备用。

d13304fce0dd

得到DeviceToken后进入友盟网站,依次执行下面的操作:

消息推送->立即使用->(你的应用)->开发环境->测试设备->添加测试设备

d13304fce0dd

设备添加完成后就可以进行推送调试了,在测试消息中点击新建测试消息:

d13304fce0dd

参数和提醒方式自行设置,发送方式选择单播,输入设备的DeviceToken,完成后提交即可:

d13304fce0dd

d13304fce0dd

确认后等待推送消息发送即可

d13304fce0ddd13304fce0ddd13304fce0dd

至此,消息推送功能基本完成,更多功能请移步友盟iOS SDK集成指南。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先需要在官网注册并创建应用,然后在应用管理中获取 Appkey 和 AppSecret。接下来按照以下步骤进行集成: 1. 在项目的 build.gradle 文件中添加以下依赖: ``` implementation 'com.umeng.umsdk:push:latest.integration' ``` 2. 在 AndroidManifest.xml 文件中添加以下权限和配置信息: ```xml <!-- 权限 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 友盟推送服务 --> <service android:name="com.umeng.message.UmengMessageService" /> <service android:name="com.umeng.message.UmengNotifyClickService" /> <receiver android:name="com.umeng.message.NotificationProxyBroadcastReceiver" /> <meta-data android:name="com.umeng.message.appkey" android:value="YOUR_APP_KEY" /> <meta-data android:name="com.umeng.message.channel" android:value="YOUR_CHANNEL_ID" /> ``` 其中,YOUR_APP_KEY 和 YOUR_CHANNEL_ID 需要替换为在官网获取的 Appkey 和渠道号。 3. 在代码中初始化 SDK: ```java // 初始化友盟推送 sdk PushAgent pushAgent = PushAgent.getInstance(this); // 启用推送服务 pushAgent.enable(); ``` 注意,这里的 this 是上下文对象,需要在 Activity 或 Application 中调用。 以上就是在 UnionApp 中集成友盟消息推送 SDK 的步骤,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值