JPush(オーロラプッシュ)実戦まとめ
JPushについて
オーロラプッシュは国内のサービスメーカーが提供するワンストップpushサービス(iOS、androidもサポート)で、後にインスタント通信の能力を加えてappで使用する.シンプルで信頼性が高く、価格競争力のあるサービス(シンプルな機能はすべて無料、プレミアム版は有料)の構築に力を入れ、アプリケーション開発者が業務開発に焦点を当てることができ、push関連の技術はすべてオーロラプッシュで解決され、オーロラプッシュのapiを呼び出すだけでよい.だからこそ、開発者の仲間たちはその評価がかなりいい.筆者のappは、サーバからモバイルクライアントへの簡単なメッセージの送信のニーズを追加し、jpushのサービスを試して問題を解決する準備をしています(iOS側の統合プロセスのみを説明します).
統合手順
Step 1:オーロラ除去登録アカウント:https://www.jpush.cn/を選択し、アプリケーションを登録します.
Step 2:apns証明書をオーロラにアップロードし、apns証明書の生成手順を参照します.
http://docs.jpush.io/client/ios_tutorials/#ios_1このドキュメントをよく読むと、アップロードに成功するとコンソールのアプリケーションの詳細に「検証済み」と表示され、証明書が有効であることを示します.
Step 3:あなたのappプロジェクトを再構成し、新しいapnsをサポートするprovisionファイルを使用します(この前にapnsをサポートしている場合は、交換しなくてもいいです).そうしないと、devicetokenは正常に入手できません.
Step 4:そのsdkを統合し、1つを含む.aと1つ.hファイル、最新バージョンは約2.1で、sdkにはdemoも含まれています.2.1バージョンまでに鍵情報などを保存するためにplistファイルを作成する必要があります.最新バージョンではこのファイルは必要ありません.
sdkダウンロードアドレス:https://www.jpush.cn/common/products#product-download
Step 5:主なコードは以下のように変更されました.
appdelegate.h:
appdelegate.m:
カスタムメッセージに関する通知をリスニングします(アプリケーションで単一のmanagerを作成して管理することをお勧めします):
apiリファレンス:http://docs.jpush.io/client/ios_api/#api-ios
Step 6:コンソールでメッセージを送信し、テストします.
https://www.jpush.cn/push/apps/61466f6a310571060af61a13/push/message/ここではカスタムメッセージとpushメッセージを送信できます.カスタムメッセージはフロントでのみ受信され、長接続で送信されます.筆者はここではカスタムメッセージのみを使用し,フロントでサーバがアプリケーションにメッセージを送信するためのリアルタイム性がよい.
エラーチェック
http://docs.jpush.io/client/ios_tutorials/上のリンクの思考ガイドを参照して、demo(demoのbundle idをあなたのエンジニアリングのbundle idに変更し、自分のmobile provisionファイルを構成してテストを比較する)と組み合わせて、一般的によくある問題を解決することができます.
まとめ
筆者の数時間の実戦を経て、アプリケーション内にJpushのサービスが統合されたのは、かなり効率的だと言えるだろう.Jpushは速度、信頼性、ドキュメントなど各方面でよく表現されており、開発者に友好的です.このようなニーズを持つ開発者の仲間たちは、JPushの案を優先することができます.
オーロラプッシュは国内のサービスメーカーが提供するワンストップpushサービス(iOS、androidもサポート)で、後にインスタント通信の能力を加えてappで使用する.シンプルで信頼性が高く、価格競争力のあるサービス(シンプルな機能はすべて無料、プレミアム版は有料)の構築に力を入れ、アプリケーション開発者が業務開発に焦点を当てることができ、push関連の技術はすべてオーロラプッシュで解決され、オーロラプッシュのapiを呼び出すだけでよい.だからこそ、開発者の仲間たちはその評価がかなりいい.筆者のappは、サーバからモバイルクライアントへの簡単なメッセージの送信のニーズを追加し、jpushのサービスを試して問題を解決する準備をしています(iOS側の統合プロセスのみを説明します).
統合手順
Step 1:オーロラ除去登録アカウント:https://www.jpush.cn/を選択し、アプリケーションを登録します.
Step 2:apns証明書をオーロラにアップロードし、apns証明書の生成手順を参照します.
http://docs.jpush.io/client/ios_tutorials/#ios_1このドキュメントをよく読むと、アップロードに成功するとコンソールのアプリケーションの詳細に「検証済み」と表示され、証明書が有効であることを示します.
Step 3:あなたのappプロジェクトを再構成し、新しいapnsをサポートするprovisionファイルを使用します(この前にapnsをサポートしている場合は、交換しなくてもいいです).そうしないと、devicetokenは正常に入手できません.
Step 4:そのsdkを統合し、1つを含む.aと1つ.hファイル、最新バージョンは約2.1で、sdkにはdemoも含まれています.2.1バージョンまでに鍵情報などを保存するためにplistファイルを作成する必要があります.最新バージョンではこのファイルは必要ありません.
sdkダウンロードアドレス:https://www.jpush.cn/common/products#product-download
Step 5:主なコードは以下のように変更されました.
appdelegate.h:
static NSString *appKey = @"Your_app_key";
static NSString *channel = @"Your_channel_identifier";
static BOOL isProduction = NO;
appdelegate.m:
#import "JPUSHService.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeSound |
UIUserNotificationTypeAlert)
categories:nil];
[JPUSHService setupWithOption:launchOptions appKey:appKey
channel:channel apsForProduction:isProduction];
// your codes
return YES;
}
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSLog(@"%@", [NSString stringWithFormat:@"Device Token: %@", deviceToken]);
[JPUSHService registerDeviceToken:deviceToken];
}
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"didReceiveRemoteNotification :%@", userInfo);
[JPUSHService handleRemoteNotification:userInfo];
}
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:
(void (^)(UIBackgroundFetchResult))completionHandler
{
NSLog(@"didReceiveRemoteNotification fetchCompletionHandler:%@", userInfo);
[JPUSHService handleRemoteNotification:userInfo];
completionHandler(UIBackgroundFetchResultNewData);
}
- (void)application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *)notification
{
//[JPUSHService showLocalNotificationAtFront:notification identifierKey:nil];
}
カスタムメッセージに関する通知をリスニングします(アプリケーションで単一のmanagerを作成して管理することをお勧めします):
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self
selector:@selector(networkDidSetup:)
name:kJPFNetworkDidSetupNotification
object:nil];
[defaultCenter addObserver:self
selector:@selector(networkDidClose:)
name:kJPFNetworkDidCloseNotification
object:nil];
[defaultCenter addObserver:self
selector:@selector(networkDidRegister:)
name:kJPFNetworkDidRegisterNotification
object:nil];
[defaultCenter addObserver:self
selector:@selector(networkDidLogin:)
name:kJPFNetworkDidLoginNotification
object:nil];
[defaultCenter addObserver:self
selector:@selector(networkDidReceiveMessage:)
name:kJPFNetworkDidReceiveMessageNotification
object:nil];
[defaultCenter addObserver:self
selector:@selector(serviceError:)
name:kJPFServiceErrorNotification
object:nil];
// handler
- (void)networkDidSetup:(NSNotification *)notification
{
NSLog(@"networkDidSetup %@, alias=%@", [notification userInfo], [NSString stringWithFormat:@"iOS_%@", GSignInConfig.userID]);
// ,app
[JPUSHService setTags:nil
alias:[NSString stringWithFormat:@"iOS_%@", GSignInConfig.userID]
callbackSelector:nil
target:nil];
}
- (void)networkDidClose:(NSNotification *)notification
{
NSLog(@"networkDidClose %@", [notification userInfo]);
}
- (void)networkDidRegister:(NSNotification *)notification
{
NSLog(@"networkDidRegister %@", [notification userInfo]);
}
- (void)networkDidLogin:(NSNotification *)notification
{
NSLog(@"networkDidLogin %@", [notification userInfo]);
}
- (void)networkDidReceiveMessage:(NSNotification *)notification
{
NSLog(@"networkDidReceiveMessage notification = %@", notification);
}
- (void)serviceError:(NSNotification *)notification
{
NSDictionary *userInfo = [notification userInfo];
NSString *error = [userInfo valueForKey:@"error"];
NSLog(@"serviceError %@", error);
}
apiリファレンス:http://docs.jpush.io/client/ios_api/#api-ios
Step 6:コンソールでメッセージを送信し、テストします.
https://www.jpush.cn/push/apps/61466f6a310571060af61a13/push/message/ここではカスタムメッセージとpushメッセージを送信できます.カスタムメッセージはフロントでのみ受信され、長接続で送信されます.筆者はここではカスタムメッセージのみを使用し,フロントでサーバがアプリケーションにメッセージを送信するためのリアルタイム性がよい.
エラーチェック
http://docs.jpush.io/client/ios_tutorials/上のリンクの思考ガイドを参照して、demo(demoのbundle idをあなたのエンジニアリングのbundle idに変更し、自分のmobile provisionファイルを構成してテストを比較する)と組み合わせて、一般的によくある問題を解決することができます.
まとめ
筆者の数時間の実戦を経て、アプリケーション内にJpushのサービスが統合されたのは、かなり効率的だと言えるだろう.Jpushは速度、信頼性、ドキュメントなど各方面でよく表現されており、開発者に友好的です.このようなニーズを持つ開発者の仲間たちは、JPushの案を優先することができます.