Shopify Post-Unite Japan 2019 ワークショップに突撃してきた

2019/08/06(Tue)に日の出のTABLOIDにて行われた、

Shopify主催のShopify日本でも盛り上げようぜ!というイベント

Shopify Post-Unite Japan 2019

に参加してきました。

今回は参加した2つのワークショップのメモと感想を少しですが共有します。

メインステージの感想などは割愛させていただきます。

ちなみに全4講座で、スケジュール的に最大2つまで参加できる感じでした。
僕は[B1]と[A2]に参加しました。

13:30-14:30
[A1] Liquidを使ったテーマ作成トレーニング
[B1] アプリ課金で学ぶ実践GraphQL

14:30-15:30
[A2] NodeとReactを使った埋め込みアプリ開発入門
[B2] 管理画面を活用したアプリマーケティングのグロース方法

[B1] アプリ課金で学ぶ実践GraphQL

登壇者

藤永 智士 氏
株式会社フラクタ
テクニカルソリューションアーキテクト

概要

GraphQLを使ってアプリ内で課金をする方法をハンズアップでやってみよう:hond:

メモ

課金の種類はよくある感じで。

  • 都度課金
  • 継続課金
  • 従量課金

の3種類ある。
継続課金 + 従量課金などの組み合わせは可能。

GraphQLでBillingAPIを使う場合はver. 2019-07以降にしないと使えない。

Creditsってのは割引のこと。
Creditsを発行することで割引に対応できる。

GraphQLはエンドポイントが1つ。
パラメータの構造によって色々なオペレーションを使い分けることができる。
queryが問い合わせ系で追加とか編集とかはmutation。

都度購入、サブスクリプションなどのステータス変更時のwebhookが存在する。

質問

Q. サブスクリプションの期間は設定できないのか?

=> A. 今は期間の指定はできない。1ヶ月固定!

Q. 無料アプリの場合はBillingAPIを使う必要がないのか?

=> A. もちろん必要なし!!

実践

セールスメールを送るアプリを想定。

  • 月額6ドル
  • メール50通毎に1ドル課金
  • メールテンプレートの購入あり
●Create a one time purchase # <= 都度課金
mutation {
  appPurchaseOneTimeCreate(
    name: "Snazzy email template"
    returnUrl: "https://www.email.marketing.demo.com"
    price: {
      amount: 50
      currencyCode: USD
    }
    test: true
  ) {
    appPurchaseOneTime {
      id
    }
    confirmationUrl
    userErrors {
      field
      message
    }
  }
}
●Query for one time purchases # <= 確認
query {
  currentAppInstallation {
    oneTimePurchases(first: 10) {
      edges {
        node {
          id
          name
          price {
            amount
            currencyCode
          }
          status 
        }
      }
    }
  }
}
●Create a subscription # <= 継続課金
mutation {
  appSubscriptionCreate (
    name: "Snazzy email template"
    returnUrl: "https://www.email.marketing.demo.com"
    trialDays: 10
        lineItems: [{
      plan: {
        appUsagePricingDetails: {
          terms: "$1/per email up to a maximum of 50 emails"
          cappedAmount: { amount: 50 currencyCode: USD}
        }
      },
    },
    {
      plan: {
        appRecurringPricingDetails: {
          price: {
            amount: 6.0
            currencyCode: USD
          }
        }
      }
    }]
    test: true
  ) {
    appSubscription {
      id
    }
    confirmationUrl
    userErrors {
      field
      message
    }
  }
}
●Query for an active subscription # <= 確認
query {
  currentAppInstallation {
    activeSubscriptions{
      name
      id
      status 
      trialDays
      lineItems {
        id
        plan {
          pricingDetails {
            ...on AppUsagePricing {
              cappedAmount {
                amount
                currencyCode
              }
              terms
              balanceUsed {
                amount
                currencyCode
              }
            }
            ...on AppRecurringPricing {
              price {
                amount
                currencyCode
              }
            }
          }
        }
      }
    }
  }
}
●Create a usage record # <= 従量課金
mutation {
  appUsageRecordCreate(
    subscriptionLineItemId: "gid:\/\/shopify\/AppSubscriptionLineItem\/9481125968?v=1&index=1"
    description: "Email"
    price: { amount: 1.0, currencyCode: USD}
  ) {
    appUsageRecord {
      id
      description
    }
    userErrors {
      field
      message
    }
  }
}

感想

GraphQLへの抵抗はなくなったし実際に組む時のイメージもしやすく内容はとても満足。

[A2] NodeとReactを使った埋め込みアプリ開発入門

登壇者

Shopify Japan 株式会社
テクニカルパートナーマネージャー
岡村 純一

概要

とりあえずチュートリアルにそってShopifyアプリを作ってみよう!

メモ

Shopifyライクなデザインにすることがインストール数に直結する。
Polarisで作ればいやでもShopifyライクになる。
PolarisってのはShopifyのデザインテンプレートでまあBootstrapみたいなもの。
とりあえずチュートリアルを最後まで理解できたら今すぐにでもアプリ作れるらしい。

感想

チュートリアルはめちゃくちゃ充実していて、1時間で説明しながら完了させることができる量ではないため、
岡村さんがチュートリアルを進めていくのを見ている感じだった。ハイパー岡村さんタイムといえるであろう。
これをみんなで完成までやるとなったら4時間は多分いるんじゃないかな?
事前にSlackでこの内容をやりますという告知はあったので、
なんと予習していた渡部氏には復習といった感じだったので理解できた。

最後に

今回2つのワークショップに参加して、管理画面の拡張アプリ開発のイメージはついた。

テーマ系のコマも興味があったので見たかったなーと思った。

周りの競合開発者の雰囲気を見ることができたのも大きかったかと思う。

どんどんブログとかに技術記事をあげて盛り上げて欲しいとのことで、一応メモ程度なのですが投稿した次第です。

表彰されたいね。(小並感)

昼ごはんまでめちゃ洒落てたよ。

タダでこのレベルのイベントできるのは羨ましい限りでした。

ありがとうございました。

今後のイベントにも期待しています。

 

 

 

それとこれはグチになってしまうんですが、

講演中にプレスじゃないのに写真撮りまくる人達。

うるさいし目障りなんでやめて欲しい。

せめて無音カメラ使うとかさ、真面目に聞いてる人の邪魔しないで欲しい。

そういう人はどうせ見返したりしないんだろうし。

どのイベントにもいるけどあれは何がしたいんだ…参考書買って満足してる人と同じマインドでしょ。