6.5. クライアントからのPush送信方法(iOS編)¶
ここでは、iOS アプリケーションからの Push メッセージ送信方法について説明します。
6.5.1. Push メッセージ(APNs/GCM 共通部分)の構築¶
Push メッセージは APNs/GCM 共に NBPush クラスのインスタンスとして生成します。 生成したインスタンスに対して、Push メッセージを構築していきます。 下記は、APNs/GCM 共通部分の構築例です。
この例では、
- "TerminalInfo" チャネルを購読
- アプリバージョン(_appVersionString)が"1.0.5"以外
- 営業グループ(g:eigyo) もしくは企画グループ(g:kikaku)に所属
の端末に向けて Push メッセージを送信するよう設定しています。
NBPush *psh = [NBPush new];
psh.query = @{@"channles" : @"TerminalInfo",
@"_appVersionString" : @{@"$ne" : @"1.0.5"}};
psh.allowedReceivers = @[@"g:eigyo", @"g:kikaku"];
psh.message = @"アプリケーションを最新版に更新してください。";
6.5.2. Push メッセージ(APNs 固有部分)の構築¶
Push メッセージ APNs 固有部分を設定します。 APNs 固有部分は、NBAPNSFields クラスのインスタンスとして生成します。 クラスメソッドの createFields を呼び出すことで、インスタンスを獲得します。
生成した NBAPNSFields インスタンスは、最終的に Push インスタンスに設定します。
NBAPNSFields *apns = [NBAPNSFields createFields];
apns.badge = @(1);
apns.sound = @"alertsound.aiff";
apns.contentAvaiable = @(1);
apns.category = @"Information";
psh.apnsFields = apns;
6.5.3. Push メッセージの送信¶
構築した Push メッセージ を送信します。 Push メッセージを送信するには、Push インスタンスの sendPushInBackgroundWithBlock: メソッドを呼び出します。
[psh sendPushInBackgroundWithBlock:^(NSDictionary *resutls, NSError *error) {
if (!error) {
// 成功時の処理
} else {
// エラー時の処理
}
}];