2017-12-08 42 views
0

iOSでtwilio apiで次のコードを使用して、1人にSMSを送信できます。Twilioを使用して目的のCで複数の人にSMSを送信するには?

NSString *kTwilioSID = TWILIO_SID; 
NSString *kTwilioSecret = TWILIO_SECRET; 
NSString *kFromNumber = TWILIO_FROM_NUMBER; 
NSString *kToNumber = TO_NUMBER; 
NSString *kMessage = TWILIO_MESSAGE_HEADER; 

NSString *urlString = [NSString 
         stringWithFormat:@"https://%@:%@@api.twilio.com/2010-04-01/Accounts/%@/SMS/Messages/", 
         kTwilioSID, kTwilioSecret,kTwilioSID]; 

NSDictionary* 
dic = @{@"From":kFromNumber,@"To":kToNumber,@"Body":kMessage}; 

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
manager.responseSerializer=[AFHTTPResponseSerializer serializer]; 
manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"application/xml"]; 
[manager POST:urlString parameters:dic success:^(AFHTTPRequestOperation *operation, id responseObject) 
{  
} failure:^(AFHTTPRequestOperation *operation, NSError *error) 
{ 
}]; 

次に複数の人にSMSを送信します。 どうすればいいですか?

答えて

1

あなたがSSL certificate pinningを実装していない限り、攻撃者routing their device to a proxyが簡単に(シークレット含む)あなたのAPIの資格を取得し、あなたのアカウントにメッセージを送ることができるので、あなたは、クライアントアプリケーションで、あなたのAPIの秘密(kTwilioSecret)を埋め込むことが想定されていません。

これは、iOSクライアントSDKがSMSの送信をサポートしていない理由です。あなたのアプリはあなたのバックエンド(あなたのAPIの秘密は安全です)と話すべきです。これは、SMSの送信を許可するロジックを処理し、Twilioを通して送信する必要があります。

TwilioがRate-Limitingを使用していることを確認してください。同じ番号から複数のメッセージを一度に送信することはできません。ショートコードは違うルールの対象ですが、より高価です。

これで、Twilioがバックグラウンドで一定の時間内に複数のメッセージを送信できるように、レートを制限するルーチンを実装することができます。 (または、iOSからですが、上記のセキュリティ上の問題については、これを行うことをお勧めしません)。

+0

アンサーのおかげで、あなたはセキュリティ上の問題について絶対に正しいです。 [Swiftを使用してiOSからSMSメッセージを送信する方法]に関するブログ記事を公開しました(https://www.twilio.com/blog/2016/11/how-to-send-an-sms-from-ios-in- swift.html)、これは主にObjective Cにも当てはまります。 – philnash