2017-07-21 13 views
0

私はSwift 3でモバイルアナリティクスを使用しようとしており、現在はCocoaPods経由でAWSCore 2.5.9とAWSMobileAnalytics 2.5.9を持っていますが、私はイベントを記録できません。私のパートナーは、使用しているのと同じCognitoIdentityPoolIdのAndroidを使用してイベントを記録しました。また、AmazonMobileAnalyticsFullAccessというポリシーが添付されていることも確認しました。AWS analytics - swift 3 - iOS?

I次のコードを内部に持っている私のAppDelegateのdidFinishLaunchingWithOptionsのコンソール出力になり

let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.USWest2, 
        identityPoolId:"us-west-2:theRestOfMyID") 

     let configuration = AWSServiceConfiguration(region:.USWest2, 
                credentialsProvider:credentialsProvider) 

     AWSServiceManager.default().defaultServiceConfiguration = configuration 

     let analyticsConf = AWSMobileAnalyticsConfiguration.init() 

     analyticsConf.serviceConfiguration = AWSServiceManager.default().defaultServiceConfiguration 

     _ = AWSMobileAnalytics.init(forAppId: "MyMobileAnalyticsAppId", configuration: analyticsConf) 

:私は、イベントを記録し、ボタンを持っている

2017-07-20 16:39:53:875 test2[7288:125553] Mobile Analytics SDK(2.0-alpha) Initialization successfully completed. 
2017-07-20 16:39:53:875 test2[7288:125635] 
==========Batch Object========== 
{"attributes":{"_session.id":"82e879d9-C9E6D9C7-20170720-233953870","ver":"v2.0","_session.startTime":"2017-07-20T23:39:53.872Z"},"event_type":"_session.start","timestamp":"2017-07-20T23:39:53.873Z"} 
2017-07-20 16:39:53:876 test2[7288:125635] Event: '_sess...' recorded to local filestore 

イベントを提出しよう:

let eventClient = AWSMobileAnalytics(forAppId: "MyMobileAnalyticsAppId").eventClient 

     guard let client = eventClient else { 
     print("Error creating AMA event client") 
     return 
     } 
     guard let event = client.createEvent(withEventType: "test_50_logIn") else { 
     print("Error creating AMA event") 
     return 
     } 
     event.addAttribute("username", forKey: "sample") 
     event.addAttribute("device", forKey: "ios") 
     client.record(event) 

     client.submitEvents() 

ただし、submitEventsは常に次のようにトリガします。 2日間私は解決できませんでした。その結果、私は単一のiOSイベントを記録することができませんでした。私は統合ガイド下に追加の手順を参照しない

2017-07-20 16:46:01:736 test2[7566:129412] Unable to successfully deliver events to server. Error Message:Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={NSUnderlyingError=0x6080002438a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_kCFStreamErrorCodeKey=8, _kCFStreamErrorDomainKey=12}}, NSErrorFailingURLStringKey=https://mobileanalytics.us-west-2.amazonaws.com/2014-06-05/events, NSErrorFailingURLKey=https://mobileanalytics.us-west-2.amazonaws.com/2014-06-05/events, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSLocalizedDescription=A server with the specified hostname could not be found.} 

、誰でもIDがAndroidの統合に完全に正常に動作している場合、問題があるかもしれないものを知っていますか?ありがとうございました!

答えて

2

モバイルアナリティクスは米国西部(Docs)では利用できません。

Q:Amazon Mobile AnalyticsサービスはどのAWS地域で利用できますか?

現在、Amazon Mobile Analyticsは、AWS 米国東部(N. Virginia)Regionで利用できます。

あなたは自分の AWSServiceConfigurationで地域を変更する必要があり

let serviceConfiguration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialsProvider) 
let analyticsConfiguration = AWSMobileAnalyticsConfiguration() 
analyticsConfiguration.serviceConfiguration = serviceConfiguration 
_ = AWSMobileAnalytics(forAppId: "MyMobileAnalyticsAppId", configuration: analyticsConfiguration) 

エンドポイント:
https://mobileanalytics.us-west-2.amazonaws.com =>
https://mobileanalytics.us-east-1.amazonaws.com/あなたは上のスポット

+0

たん> =は動作しません私はアンドロイドでこれを最初に実装したので、アンドロイドではUSEastに対処する必要はありません。すべての私のAWSのものは米国西部にあったので、私は地域のために私たち西を使用したときに分析が機能しましたが、それはIOSの仕事をしなかったし、予期せぬものでした... – TheQ