【Swift4】Google Analytics と eコマース?

SwiftでGoogle Analytics で eコマースを利用しようとしたが、ワケワカラン。
そもそもeコマースがわかってないんだが。
とりあえず課金があったらその情報を受け取れるようにしてみたい。

とりあえず、まずここの説明がSwiftに対応していない。(# ゚Д゚)
e コマース トラッキング – iOS SDK  |  iOS 向けアナリティクス  |  Google Developers

コピペだが、このコードがSwift化できれば良いんだと思う。

/*
 * Called when a purchase is processed and verified.
 */
- (void)onPurchaseCompleted {

  // Assumes a tracker has already been initialized with a property ID, otherwise
  // this call returns null.
  id tracker = [[GAI sharedInstance] defaultTracker];

  [tracker send:[[GAIDictionaryBuilder createTransactionWithId:@"0_123456"             // (NSString) Transaction ID
                                                   affiliation:@"In-app Store"         // (NSString) Affiliation
                                                       revenue:@2.16F                  // (NSNumber) Order revenue (including tax and shipping)
                                                           tax:@0.17F                  // (NSNumber) Tax
                                                      shipping:@0                      // (NSNumber) Shipping
                                                  currencyCode:@"USD"] build]];        // (NSString) Currency code

  [tracker send:[[GAIDictionaryBuilder createItemWithTransactionId:@"0_123456"         // (NSString) Transaction ID
                                                              name:@"Space Expansion"  // (NSString) Product Name
                                                               sku:@"L_789"            // (NSString) Product SKU
                                                          category:@"Game expansions"  // (NSString) Product category
                                                             price:@1.9F               // (NSNumber) Product price
                                                          quantity:@1                  // (NSInteger) Product quantity
                                                      currencyCode:@"USD"] build]];    // (NSString) Currency code

}

参考にしたのがこちら
ios – Issue with Google Analytics in Swift 2 or 3 – Stack Overflow
と、こちら
iOSアプリでもGoogleAnalyticsでがっつり計測する実装方法【総集編】 | Nagisaのすゝめ

なんだかんだイジって、
Xcodeに文句言われないように変更して出来たのがこの形。

func onPurchacedCompleted() {
        
    let tracker = GAI.sharedInstance().defaultTracker
    var builder = (GAIDictionaryBuilder.createTransaction(withId: "トランザクションID", //トランザクションID ◎必須 String?
                                        affiliation: "App-Store", //ショップ? ◎必須 String?
                                        revenue: 100, //収益の合計(税金と送料)◎必須 NSNumber?
                                        tax: 0, //税金 ◎必須 NSNumber?
                                        shipping: 0, //送料 ◎必須 NSNumber?
                                        currencyCode: "JPY")) //通貨 ◎オプション String?
        
    tracker?.send(builder?.build() as! [AnyHashable : Any]?)
        
        
    builder = (GAIDictionaryBuilder.createItem(withTransactionId: "トランザクションID", //トランザクションID ◎必須 String?
                                         name: "商品名", //商品の名前 ◎必須 String?
                                         sku: "商品のSKU", //商品のSKU ◎必須 String?
                                         category: "カテゴリ", //カテゴリ ◎オプション String?
                                         price: 100, //価格 ◎必須 NSNumber?
                                         quantity: 1, //数量 ◎必須 NSNumber?
                                         currencyCode: "JPY")) //通貨 ◎オプション String?
        
    tracker?.send(builder?.build() as! [AnyHashable : Any]?)
}</pre> 

とりあえず自分用。
うまくいかなくったってしーらないしーらない。
うじゃうじゃ。/(^o^)\

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です