• このエントリーをはてなブックマークに追加
  • このエントリーをはてなブックマークに追加

iOS SDKでは、SDKの簡単化のために、クライアントのIDとcodeの取得メソッドは、インタフェースを隠蔽しておりアクセスすることができません。

これにアクセスするためには、追加でインタフェースを定義してしまう方法があります。クライアントIDとコードへアクセスするのに必要最小限のインタフェースは下記となります。

@interface GPClient
- (long long)id;
- (NSString *)code;
@end
 
@interface GrowthPush ()
+ (GrowthPush *)sharedInstance;
- (GPClient *)client;
@end

これを用いて下記のようにクライアントを取得することができます。

GPClient *client = [[GrowthPush sharedInstance] client];
NSLog(@"client.id:%lld, client.code:%@", client.id, client.code);

Android SDKは、クライアントへのインタフェースはpublicとなっておりますので、次のようなコードで取得可能です。

Client client = GrowthPush.getInstance().getClient();

いずれの場合も、初回のクライアント登録時は、サーバへの登録作業が完了するのに時間がかかりますので、clientがnilでなくオブジェクトを返すまでの待ち処理を実装する必要があります。