SwiftでGoogle Analytics で eコマースを利用しようとしたが、ワケワカラン。
そもそもeコマースがわかってないんだが。
とりあえず課金があったらその情報を受け取れるようにしてみたい。
とりあえず、まずここの説明がSwiftに対応していない。(# ゚Д゚)
e コマース トラッキング – iOS SDK | iOS 向けアナリティクス | Google Developers
コピペだが、このコードがSwift化できれば良いんだと思う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/* * 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に文句言われないように変更して出来たのがこの形。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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^)\