こんにちは、オフィス狛 モバイル開発担当 Aika-yuy です。
今回の投稿は、iOSアプリから AmazonConnectとLambdaで任意の番号に電話をかける方法をご紹介します。
前回までのLambdaからAmazon Connectで電話をかける方法です
①Amazon Connectで電話番号、お問い合わせフローの作成
②IAMでロールを作成
③Lambda関数の作成
④実行!!
②IAMでロールを作成
③Lambda関数の作成
④実行!!
今回の手順
①Amazon CognitoでiOSアプリからアクセス権限を作成②CognitoのロールにLambdaのアクセス権限を追加
③iOSアプリにCognitoとLambda呼び出しの設定
①Amazon CognitoでiOSアプリからアクセス権限を作成
・TOP画面からCognitoを検索して選択
・Identity Poolを作成します
・新しいIDプールの作成
・任意の名前をつける
・認証なしのユーザーを許可にチェックして作成
・許可を押すと自動でロールが作成されます
・サンプルコードをコピーします(後ほどAppDelegateに貼り付け)
②CognitoのロールにLambdaのアクセス権限を追加
・IAMに移動します
・サイドメニューのロールを選択
・先ほど自動作成されたロールが一覧に表示されています
・Unauthの方をクリックして下さい
・インラインポリシーの追加を押して下さい
・サービスはLambdaを選択
・アクションはInvokeFunctionにチェックを入れて下さい
・ポリシーの確認ボタンを押します
・ARNの追加で以前に作った、LambdaFunctionのARNをペーストして下さい
・任意の名前をつけ、ポリシーの作成ボタンを押して下さい
・ポリシーが追加されていれば、完了です
・次はiOSアプリを作成していきます
③iOSアプリにCognitoとLambda呼び出しの設定
・今回は以下をpod installしました
pod 'AWSMobileClient', '~> 2.6.13' # For AWSMobileClient pod 'AWSCognito' pod 'AWSLambda'
AppDelegateに先ほどのサンプルコードをそのまま貼り付けます
import AWSCognito//インポートを忘れずに
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.APNortheast1,identityPoolId:"identityPoolId")
let configuration = AWSServiceConfiguration(region:.APNortheast1, credentialsProvider:credentialsProvider)
AWSServiceManager.default().defaultServiceConfiguration = configuration
return true
}
viewControllerにボタンを押したらLambdaFunctionを叩くようにします
import AWSLambda//インポートを忘れずに
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func callButtanTapped(_ sender: Any) {
let lambdaInvoker = AWSLambdaInvoker.default()
lambdaInvoker.invokeFunction("testCall", jsonObject: nil).continueWith(block: {(task:AWSTask) -> Any? in
if let error = task.error {
print("Error: \(error)")
return nil
}
return nil
})
}
}













0 件のコメント:
コメントを投稿