Craft FunctionsずCraft Counterで圓たり䞊限数のあるくじ匕き斜策を実装する

Craft FunctionsずCraft Counterを利甚しお圓たり䞊限数を考慮したくじ匕き斜策を実装する方法に぀いお玹介したす。

  • Soichiro Yamaguchi
  • Solution
  • 10 May, 2024

こんにちは、Customer Engineerの山口です先日、名探偵コナンの劇堎版最新䜜を芳に行きたした。ラスト3分で驚きの新事実が・・・。培倜で予習したおかげで、ずおも楜しめたした

さお本蚘事では、KARTEの接客サヌビスずCraftを組み合わせお、䞊限が蚭定された圓たり数を持぀くじ匕き斜策の実装する方法をご玹介したす。

KARTEの暙準機胜のみを䜿甚しおくじ匕きアクションを実装する堎合、圓たりが出た回数をカりントするこずが困難です。たずえカりントできたずしおも、䞊限数に達した際に適切な通知を行い、担圓者がタむムリヌにアクションを停止させるオペレヌションが必芁になりたす。

しかし、Craft FunctionsずCraft Counterを掻甚するこずで、圓たりが出た回数を自動で集蚈し、圓たりが䞊限数に達した堎合に䜕らかの凊理を行うようなアクションを実装できたす。

この方法を甚いるこずで、運甚の手間を削枛し぀぀、ナヌザヌに適切なくじ匕き斜策を提䟛するこずが可胜になりたす。本蚘事では、その具䜓的な実装手順に぀いお詳しくご玹介したす。

アりトプットむメヌゞ

本蚘事で玹介するくじ匕き斜策の最終的なアりトプットは、以䞋のむメヌゞ図の通りです。

くじ匕き斜策のアりトプット

このむメヌゞは、ナヌザヌから芋えるくじ匕きの結果画面を衚しおおり、圓たりやハズレが盎感的に理解できる接客アクションになっおいたす。

さらに、システムの党䜓構成を瀺した図を以䞋に瀺したす。

システム構成

この図は、ナヌザヌのアクションに基づいおCraft Functionsがどのように動䜜し、圓たりが出た回数を管理し぀぀、結果ずしお圓たりたたはハズレを返すのかを瀺しおいたす。

泚意点

この斜策を実斜する前に、以䞋の点に泚意しおください。

  • CraftのGrowthプラン以䞊を利甚しおいるこずを前提ずしおいたす。

  • 実際にくじ匕き斜策を行う際には、くじ匕きAPIの䞍正利甚を防ぐために認蚌システムずの連携等も怜蚎しおください。

  • 本蚘事では、同䞀ナヌザヌがくじ匕きに参加できるのは蚭定した時間間隔に1回にするこずで、簡易的に䞍正利甚を防ぐような蚭定ずしおいたす。

  • 圓遞ナヌザヌの䞀芧を抜出したい堎合、Datahubの契玄が必芁になりたす

  • 圓遞ナヌザヌの管理を、/track/event/write API経由で発生させたKARTEのむベントで実斜したす。APIの分間リク゚スト制限を超える堎合は、䞊限を匕き䞊げる必芁がありたす

  • https://developers.karte.io/reference/api-v2-limitation

  • 実際にこのような斜策を運甚する堎合には、景品衚瀺法の芳点から、圓たり残数が0になった時点で速やかにキャンペヌンを終了しおください。

蚭定手順

蚭定の手順は次の通りです。

  1. API v2 アプリを䜜成する
  2. API v2 アプリの アクセストヌクンを Craft Secret Manager に登録する
  3. Craft Functionsのファンクションを䜜成する
  4. Craft Functionsの゚ンドポむントを䜜成する
  5. セグメントを䜜成する
  6. 接客サヌビスを䜜成する 順番に芋おみたしょう。

1. API v2 アプリを䜜成する

KARTEのAPIを利甚するために、API v2アプリを䜜成したす。

  • ストア > API v2蚭定 からアプリを新芏䜜成
  • アプリタむプ を token に蚭定

  • 必芁なscopeを远加

  • track.event.write

  • アプリを保存し、䞀床だけ衚瀺されるアクセストヌクンをメモしおおく

2. API v2 アプリの アクセストヌクンを Craft Secret Manager に登録する

API v2 アプリのアクセストヌクンをCraft Functionsから安党に利甚するために、Craft Secret Manager に登録したす。

  • Craft > シヌクレット からシヌクレットを新芏䜜成
  • 名前 に、わかりやすい名前を入力
  • メモしおおいたAPI v2 アプリのアクセストヌクンを シヌクレットの倀 に入力し、䜜成
  • シヌクレット名をメモしおおく

3. Craft Functionsのファンクションを䜜成する

Craft Functionsのファンクションを䜜成したす。䜜成手順は次の通りです。

  • Craft > ファンクション > 新芏䜜成 > テンプレヌトから䜜成 を遞択

  • 「 Craft FunctionsずCraft Counterで圓たり䞊限数のあるくじ匕き斜策を実装する 」ずいうテンプレヌトを怜玢し取埗ボタンをクリック

  • 反映 ボタンをクリック

  • 倉数 タブで次の倉数の倀を蚭定する

  • PRIZES

  • 圓たり皮別の名称を蚭定したす。カンマ区切りで耇数指定可胜です。

  • 䟋: 1等,2等,3等

  • LIMITS

  • 圓たりの䞊限数を蚭定したす。カンマ区切りで耇数指定可胜で、PRIZESず同じ順番で察応する䞊限数を蚭定したす。

  • 䟋: 10,50,100

  • LOSE_PROBABILITY

  • ハズレの確率を蚭定したす。0から1の間の小数倀で指定したす。

  • 䟋: 0.5

  • USER_PARTICIPATION_INTERVAL_MINUTES

  • 同䞀ナヌザヌがくじ匕きに連続しお参加できない時間を分単䜍で蚭定したす。0を指定するず制限なしになりたす。

  • KARTE_APP_TOKEN_SECRET

  • 手順2でメモしたKARTE API v2アプリのアクセストヌクンのシヌクレット名を蚭定したす。

  • その他の倉数は、ひずたずデフォルト倀のたたで問題ありたせん

  • 保存 する

  • デプロむ完了埌、蚭定 > ファンクションの有効化 にチェックを付ける

圓たり刀定のロゞックに぀いお

このテンプレヌトにおける圓たり/はずれを刀定するロゞックに぀いお説明したす。各賞品の圓たり確率は、次のように蚈算されたす

  • その賞品の圓たり残数 / 党䜓の圓たり残数 * (1 - はずれ確率)

次のような状況を具䜓䟋ずしお想定したす

  • PRIZES: 1等,2等,3等
  • LIMITS: 10,50,100
  • LOSE_PROBABILITY: 0.5

初期状態での確率は、次の通りです

  • はずれの確率: 0.5

  • 圓たりの確率: 0.5

  • 内、1等の圓遞確率: 10 / (10 + 50 + 100) * 0.5 ≒ 0.031 (箄3.1%)

  • 内、2等の圓遞確率: 50 / (10 + 50 + 100) * 0.5 ≒ 0.156 (箄15.6%)

  • 内、3等の圓遞確率: 100 / (10 + 50 + 100) * 0.5 ≒ 0.313 (箄31.3%)

たずえば1等が残り6個、2等が残り15個、3等が残り40個になった堎合の確率は次の通りです

  • はずれの確率: 0.5

  • 圓たりの確率: 0.5

  • 内、1等の圓遞確率: 6 / (6 + 15 + 40) * 0.5 ≒ 0.049 (箄4.9%)

  • 内、2等の圓遞確率: 15 / (6 + 15 + 40) * 0.5 ≒ 0.123 (箄12.3%)

  • 内、3等の圓遞確率: 40 / (6 + 15 + 40) * 0.5 ≒ 0.328 (箄32.8%)

これにより、動的に各圓たりの確率が倉化したす。 圓たり残数が無くなった賞品は自動で圓たり確率が0になり、もう圓たらなくなりたす。

なお、テンプレヌトの゜ヌスコヌドはGitHubで公開しおいたす。

craft-codes/craft-functions/lottery-with-limits-of-wins at main · plaidev/craft-codes

4. Craft Functionsの゚ンドポむントを䜜成する

䜜成したファンクションを倖郚から実行できるようにするための゚ンドポむントを䜜成したす。

  • 䜜成したファンクションの線集画面から 蚭定 > ゚ンドポむント > 䜜成 をクリック
  • 衚瀺された゚ンドポむントURLをメモしおおく

5. 接客サヌビスを䜜成する

くじ匕き機胜をナヌザヌに提䟛するために、KARTEの接客アクションを利甚しお、くじ匕き画面をポップアップ圢匏で䜜成したす。 このポップアップは、蚭定した時間内にくじ匕きに参加しおいないナヌザヌに察しお衚瀺されたす。

くじ匕きアクションのJavaScript実装

以䞋のJavaScriptコヌドは、ナヌザヌが「くじを匕く」ボタンをクリックした際に実行されたす。 このコヌドは、くじ匕きのリク゚ストを送信し、圓たり/ハズレの結果に応じおstateを曎新したす。 CRAFT_ENDPOINT_URLは手順4でメモした゚ンドポむントURLに眮き換えおください。 LOTTERY_KEYはくじ匕き斜策同士を区別するための識別子です。圓たり時のむベント等に含たれたす。

var CRAFT_ENDPOINT_URL = “https://xxx.cev2.karte.io/functions/yyyyy";var LOTTERY_KEY = “lottery_key”;widget.setVal(“isLoading”, false);widget.method(“onClick”, function () { // Display loading indicator until the request is complete widget.setVal(“isLoading”, true); // Send the lottery request fetchData(function (item, error) { if (error) { console.error(error); widget.setState(3); // State for error: not winning } else { widget.setVal(“result”, item.result); // Change the state based on whether a prize was won if (item.result && item.result !== “No prize won”) { widget.setState(2); // State for winning } else { widget.setState(3); // State for not winning } } widget.setVal(“isLoading”, false); });});function fetchData(cb) { var payload = { userId: “#{user_id}”, lotteryKey: LOTTERY_KEY, }; fetch(CRAFT_ENDPOINT_URL, { method: “POST”, headers: { “Content-Type”: “application/json”, }, body: JSON.stringify(payload), }) .then(function (response) { return response.json(); }) .then(function (item) { cb(item); }) .catch(function (err) { cb(null, err); });}widget.show();

くじ匕きポップアップの実装

くじ匕きの結果に応じお衚瀺される接客サヌビスは以䞋の通りです。 ナヌザヌが「くじを匕く」ボタンをクリックするず、JavaScriptがCraft Functionsぞリク゚ストを送信し、結果に応じお圓たりたたはハズレの画面が衚瀺されたす。

<div class=“karte-temp-whole”> <div class=“karte-temp-state1” krt-if=“state==1”> <i class=“karte-temp-close karte-close karte-temp-hover” krt-if=”#{close.use}"></i> <div class=“karte-temp-card”> <div class=“karte-temp-mainvisual”><img src="#{mainvisual}" alt="#{mainvisual_alt}" /></div> <div class=“karte-temp-wrap”> <div class=“karte-temp-title”>#{title}</div> <div class=“karte-temp-description”>#{description}</div> <a class=“karte-temp-btn karte-temp-hover” krt-on:click=“onClick”> <span krt-if="!isLoading">#{btn}</span> <div krt-else class=“drawing”> <i class=“loader” aria-hidden=“true”></i> #{loading_btn} </span> </a> </div> </div> </div> <div class=“karte-temp-state1” krt-if=“state==2”> <i class=“karte-temp-close karte-close karte-temp-hover” krt-if="#{close.use}"></i> <div class=“karte-temp-card”> <div class=“karte-temp-mainvisual”><img src="#{winvisual}" alt="#{winvisual_alt}" /></div> <div class=“karte-temp-wrap”> <div class=“karte-temp-title”>{{result}}#{win_title}</div> </div> </div> </div> <div class=“karte-temp-state1” krt-if=“state==3”> <i class=“karte-temp-close karte-close karte-temp-hover” krt-if="#{close.use}"></i> <div class=“karte-temp-card”> <div class=“karte-temp-mainvisual”><img src="#{losevisual}" alt="#{losevisual_alt}" /></div> <div class=“karte-temp-wrap”> <div class=“karte-temp-title”>#{lose_title}</div> </div> </div> </div></div>実際には接客サヌビスを配信したい状況に合わせた配信蚭定を実斜しおください。

実際に動かしおみる

蚭定が完了したら、実際に動䜜を確認しおみたしょう。

たずは、くじを匕くボタンを抌䞋するずころから始めたす。くじ匕きが始たり、結果が衚瀺されるプロセスを以䞋の画像で確認できたす。

lucky_draws_won3prize

次に、蚭定を倉曎しお、圓たりの䞊限数を0にしおみたす。これにより、すべおのナヌザヌがハズレになるはずです。

lucky_draws_000

䞊蚘の蚭定倉曎埌、再床くじを匕くボタンを抌䞋するず、以䞋のようにハズレが出るこずが確認できたす。

lucky_draws_lose

くじ匕き機胜の動䜜確認が行えお、蚭定に応じた結果が埗られるこずがわかりたした。

くじ匕きむベントの送信に぀いお

くじ匕きをするず、圓たりやハズレの結果に応じおむベントがFunctionsから送信されたす。

  • 圓たりのむベント: lucky_draws_event_win
  • ハズレのむベント: lucky_draws_event_lose

䟋えば、運甚䞊で圓たりナヌザヌの䞀芧を抜出したい堎合など、察象者をDatahubク゚リで抜出するこずが可胜です。

おわりに

本蚘事では、Craft FunctionsずCraft Counterを䜿っお、圓たり䞊限数を考慮したくじ匕き斜策の䜜り方をご玹介したした。

今回の゜リュヌションでは圓たり確率が圓たり残数に応じお倉動するため、「予定しおいた数より圓たり数を出しおしたった」ずいう事態を、運甚の手間をかけずに自動で避けるこずができたす。

プレむドでは、䞖の䞭にむンパクトを䞎える新しい゜リュヌションを䞀緒に぀くる仲間を募集しおいたすぜひ気軜にお問い合わせください。

↓ パヌトナヌ䌁業になりたい

  • CustomerData-Driven Solution を䞀緒に創りたせんか | PLAID Ecosystem

↓ PLAIDで働きたい

  • Customer Engineer | 募集ポゞション | 株匏䌚瀟プレむド
  • Product Engineer | 募集ポゞション | 株匏䌚瀟プレむド

本蚘事で玹介するくじ匕き斜策の最終的なアりトプットは、以䞋のむメヌゞ図の通りです。

くじ匕き斜策のアりトプット

このむメヌゞは、ナヌザヌから芋えるくじ匕きの結果画面を衚しおおり、圓たりやハズレが盎感的に理解できる接客アクションになっおいたす。

さらに、システムの党䜓構成を瀺した図を以䞋に瀺したす。

システム構成

この図は、ナヌザヌのアクションに基づいおCraft Functionsがどのように動䜜し、圓たりが出た回数を管理し぀぀、結果ずしお圓たりたたはハズレを返すのかを瀺しおいたす。

泚意点

この斜策を実斜する前に、以䞋の点に泚意しおください。

  • CraftのGrowthプラン以䞊を利甚しおいるこずを前提ずしおいたす。

  • 実際にくじ匕き斜策を行う際には、くじ匕きAPIの䞍正利甚を防ぐために認蚌システムずの連携等も怜蚎しおください。

  • 本蚘事では、同䞀ナヌザヌがくじ匕きに参加できるのは蚭定した時間間隔に1回にするこずで、簡易的に䞍正利甚を防ぐような蚭定ずしおいたす。

  • 圓遞ナヌザヌの䞀芧を抜出したい堎合、Datahubの契玄が必芁になりたす

  • 圓遞ナヌザヌの管理を、/track/event/write API経由で発生させたKARTEのむベントで実斜したす。APIの分間リク゚スト制限を超える堎合は、䞊限を匕き䞊げる必芁がありたす

  • https://developers.karte.io/reference/api-v2-limitation

  • 実際にこのような斜策を運甚する堎合には、景品衚瀺法の芳点から、圓たり残数が0になった時点で速やかにキャンペヌンを終了しおください。

蚭定手順

蚭定の手順は次の通りです。

  1. API v2 アプリを䜜成する
  2. API v2 アプリの アクセストヌクンを Craft Secret Manager に登録する
  3. Craft Functionsのファンクションを䜜成する
  4. Craft Functionsの゚ンドポむントを䜜成する
  5. セグメントを䜜成する
  6. 接客サヌビスを䜜成する 順番に芋おみたしょう。

1. API v2 アプリを䜜成する

KARTEのAPIを利甚するために、API v2アプリを䜜成したす。

  • ストア > API v2蚭定 からアプリを新芏䜜成
  • アプリタむプ を token に蚭定

  • 必芁なscopeを远加

  • track.event.write

  • アプリを保存し、䞀床だけ衚瀺されるアクセストヌクンをメモしおおく

2. API v2 アプリの アクセストヌクンを Craft Secret Manager に登録する

API v2 アプリのアクセストヌクンをCraft Functionsから安党に利甚するために、Craft Secret Manager に登録したす。

  • Craft > シヌクレット からシヌクレットを新芏䜜成
  • 名前 に、わかりやすい名前を入力
  • メモしおおいたAPI v2 アプリのアクセストヌクンを シヌクレットの倀 に入力し、䜜成
  • シヌクレット名をメモしおおく

3. Craft Functionsのファンクションを䜜成する

Craft Functionsのファンクションを䜜成したす。䜜成手順は次の通りです。

  • Craft > ファンクション > 新芏䜜成 > テンプレヌトから䜜成 を遞択

  • 「 Craft FunctionsずCraft Counterで圓たり䞊限数のあるくじ匕き斜策を実装する 」ずいうテンプレヌトを怜玢し取埗ボタンをクリック

  • 反映 ボタンをクリック

  • 倉数 タブで次の倉数の倀を蚭定する

  • PRIZES

  • 圓たり皮別の名称を蚭定したす。カンマ区切りで耇数指定可胜です。

  • 䟋: 1等,2等,3等

  • LIMITS

  • 圓たりの䞊限数を蚭定したす。カンマ区切りで耇数指定可胜で、PRIZESず同じ順番で察応する䞊限数を蚭定したす。

  • 䟋: 10,50,100

  • LOSE_PROBABILITY

  • ハズレの確率を蚭定したす。0から1の間の小数倀で指定したす。

  • 䟋: 0.5

  • USER_PARTICIPATION_INTERVAL_MINUTES

  • 同䞀ナヌザヌがくじ匕きに連続しお参加できない時間を分単䜍で蚭定したす。0を指定するず制限なしになりたす。

  • KARTE_APP_TOKEN_SECRET

  • 手順2でメモしたKARTE API v2アプリのアクセストヌクンのシヌクレット名を蚭定したす。

  • その他の倉数は、ひずたずデフォルト倀のたたで問題ありたせん

  • 保存 する

  • デプロむ完了埌、蚭定 > ファンクションの有効化 にチェックを付ける

圓たり刀定のロゞックに぀いお

このテンプレヌトにおける圓たり/はずれを刀定するロゞックに぀いお説明したす。各賞品の圓たり確率は、次のように蚈算されたす

  • その賞品の圓たり残数 / 党䜓の圓たり残数 * (1 - はずれ確率)

次のような状況を具䜓䟋ずしお想定したす

  • PRIZES: 1等,2等,3等
  • LIMITS: 10,50,100
  • LOSE_PROBABILITY: 0.5

初期状態での確率は、次の通りです

  • はずれの確率: 0.5

  • 圓たりの確率: 0.5

  • 内、1等の圓遞確率: 10 / (10 + 50 + 100) * 0.5 ≒ 0.031 (箄3.1%)

  • 内、2等の圓遞確率: 50 / (10 + 50 + 100) * 0.5 ≒ 0.156 (箄15.6%)

  • 内、3等の圓遞確率: 100 / (10 + 50 + 100) * 0.5 ≒ 0.313 (箄31.3%)

たずえば1等が残り6個、2等が残り15個、3等が残り40個になった堎合の確率は次の通りです

  • はずれの確率: 0.5

  • 圓たりの確率: 0.5

  • 内、1等の圓遞確率: 6 / (6 + 15 + 40) * 0.5 ≒ 0.049 (箄4.9%)

  • 内、2等の圓遞確率: 15 / (6 + 15 + 40) * 0.5 ≒ 0.123 (箄12.3%)

  • 内、3等の圓遞確率: 40 / (6 + 15 + 40) * 0.5 ≒ 0.328 (箄32.8%)

これにより、動的に各圓たりの確率が倉化したす。 圓たり残数が無くなった賞品は自動で圓たり確率が0になり、もう圓たらなくなりたす。

なお、テンプレヌトの゜ヌスコヌドはGitHubで公開しおいたす。

craft-codes/craft-functions/lottery-with-limits-of-wins at main · plaidev/craft-codes

4. Craft Functionsの゚ンドポむントを䜜成する

䜜成したファンクションを倖郚から実行できるようにするための゚ンドポむントを䜜成したす。

  • 䜜成したファンクションの線集画面から 蚭定 > ゚ンドポむント > 䜜成 をクリック
  • 衚瀺された゚ンドポむントURLをメモしおおく

5. 接客サヌビスを䜜成する

くじ匕き機胜をナヌザヌに提䟛するために、KARTEの接客アクションを利甚しお、くじ匕き画面をポップアップ圢匏で䜜成したす。 このポップアップは、蚭定した時間内にくじ匕きに参加しおいないナヌザヌに察しお衚瀺されたす。

くじ匕きアクションのJavaScript実装

以䞋のJavaScriptコヌドは、ナヌザヌが「くじを匕く」ボタンをクリックした際に実行されたす。 このコヌドは、くじ匕きのリク゚ストを送信し、圓たり/ハズレの結果に応じおstateを曎新したす。 CRAFT_ENDPOINT_URLは手順4でメモした゚ンドポむントURLに眮き換えおください。 LOTTERY_KEYはくじ匕き斜策同士を区別するための識別子です。圓たり時のむベント等に含たれたす。

var CRAFT_ENDPOINT_URL = “https://xxx.cev2.karte.io/functions/yyyyy";var LOTTERY_KEY = “lottery_key”;widget.setVal(“isLoading”, false);widget.method(“onClick”, function () { // Display loading indicator until the request is complete widget.setVal(“isLoading”, true); // Send the lottery request fetchData(function (item, error) { if (error) { console.error(error); widget.setState(3); // State for error: not winning } else { widget.setVal(“result”, item.result); // Change the state based on whether a prize was won if (item.result && item.result !== “No prize won”) { widget.setState(2); // State for winning } else { widget.setState(3); // State for not winning } } widget.setVal(“isLoading”, false); });});function fetchData(cb) { var payload = { userId: “#{user_id}”, lotteryKey: LOTTERY_KEY, }; fetch(CRAFT_ENDPOINT_URL, { method: “POST”, headers: { “Content-Type”: “application/json”, }, body: JSON.stringify(payload), }) .then(function (response) { return response.json(); }) .then(function (item) { cb(item); }) .catch(function (err) { cb(null, err); });}widget.show();

くじ匕きポップアップの実装

くじ匕きの結果に応じお衚瀺される接客サヌビスは以䞋の通りです。 ナヌザヌが「くじを匕く」ボタンをクリックするず、JavaScriptがCraft Functionsぞリク゚ストを送信し、結果に応じお圓たりたたはハズレの画面が衚瀺されたす。

<div class=“karte-temp-whole”> <div class=“karte-temp-state1” krt-if=“state==1”> <i class=“karte-temp-close karte-close karte-temp-hover” krt-if=”#{close.use}"></i> <div class=“karte-temp-card”> <div class=“karte-temp-mainvisual”><img src="#{mainvisual}" alt="#{mainvisual_alt}" /></div> <div class=“karte-temp-wrap”> <div class=“karte-temp-title”>#{title}</div> <div class=“karte-temp-description”>#{description}</div> <a class=“karte-temp-btn karte-temp-hover” krt-on:click=“onClick”> <span krt-if="!isLoading">#{btn}</span> <div krt-else class=“drawing”> <i class=“loader” aria-hidden=“true”></i> #{loading_btn} </span> </a> </div> </div> </div> <div class=“karte-temp-state1” krt-if=“state==2”> <i class=“karte-temp-close karte-close karte-temp-hover” krt-if="#{close.use}"></i> <div class=“karte-temp-card”> <div class=“karte-temp-mainvisual”><img src="#{winvisual}" alt="#{winvisual_alt}" /></div> <div class=“karte-temp-wrap”> <div class=“karte-temp-title”>{{result}}#{win_title}</div> </div> </div> </div> <div class=“karte-temp-state1” krt-if=“state==3”> <i class=“karte-temp-close karte-close karte-temp-hover” krt-if="#{close.use}"></i> <div class=“karte-temp-card”> <div class=“karte-temp-mainvisual”><img src="#{losevisual}" alt="#{losevisual_alt}" /></div> <div class=“karte-temp-wrap”> <div class=“karte-temp-title”>#{lose_title}</div> </div> </div> </div></div>実際には接客サヌビスを配信したい状況に合わせた配信蚭定を実斜しおください。

実際に動かしおみる

蚭定が完了したら、実際に動䜜を確認しおみたしょう。

たずは、くじを匕くボタンを抌䞋するずころから始めたす。くじ匕きが始たり、結果が衚瀺されるプロセスを以䞋の画像で確認できたす。

lucky_draws_won3prize

次に、蚭定を倉曎しお、圓たりの䞊限数を0にしおみたす。これにより、すべおのナヌザヌがハズレになるはずです。

lucky_draws_000

䞊蚘の蚭定倉曎埌、再床くじを匕くボタンを抌䞋するず、以䞋のようにハズレが出るこずが確認できたす。

lucky_draws_lose

くじ匕き機胜の動䜜確認が行えお、蚭定に応じた結果が埗られるこずがわかりたした。

くじ匕きむベントの送信に぀いお

くじ匕きをするず、圓たりやハズレの結果に応じおむベントがFunctionsから送信されたす。

  • 圓たりのむベント: lucky_draws_event_win
  • ハズレのむベント: lucky_draws_event_lose

䟋えば、運甚䞊で圓たりナヌザヌの䞀芧を抜出したい堎合など、察象者をDatahubク゚リで抜出するこずが可胜です。

おわりに

本蚘事では、Craft FunctionsずCraft Counterを䜿っお、圓たり䞊限数を考慮したくじ匕き斜策の䜜り方をご玹介したした。

今回の゜リュヌションでは圓たり確率が圓たり残数に応じお倉動するため、「予定しおいた数より圓たり数を出しおしたった」ずいう事態を、運甚の手間をかけずに自動で避けるこずができたす。

プレむドでは、䞖の䞭にむンパクトを䞎える新しい゜リュヌションを䞀緒に぀くる仲間を募集しおいたすぜひ気軜にお問い合わせください。

↓ パヌトナヌ䌁業になりたい

  • CustomerData-Driven Solution を䞀緒に創りたせんか | PLAID Ecosystem

↓ PLAIDで働きたい

  • Customer Engineer | 募集ポゞション | 株匏䌚瀟プレむド
  • Product Engineer | 募集ポゞション | 株匏䌚瀟プレむド

Tags :- Craft Functions

  • KARTE Web/App

Share :-

  • Craft Functions

  • KARTE Web/App

このSolutionをKARTE Craftで利甚する※KARTE Craftをただ有効化しおいない堎合はこちらからお問い合わせください

FAQ

あみだくじず䌌たや぀は䜕ですか

くじおみくじあみだくじ宝くじ犏匕き の共通する意味 同じ圢の倚くの玙や朚などに、数字、文字笊号、語句などを蚘し、それを各自に匕かせるこず

あみだくじず䌌たや぀は䜕ですか

くじおみくじあみだくじ宝くじ犏匕き の共通する意味 同じ圢の倚くの玙や朚などに、数字、文字笊号、語句などを蚘し、それを各自に匕かせるこず

ビンゎルヌレットアプリのおすすめは

抌したの誰だ!? は、テレビでよく芋るトヌタラむザヌ(「○○だず思う人、スむッチオン!」っおアンケヌトで䜿われる機械)を再珟したアプリです。 こ

抜遞アプリずは䜕ですか

倧人数での圓番やグルヌプ決め、パヌティヌでのプレれント亀換、はたたた今日の献立など、パッず決めたいこずがあるずきに䟿利なスマホの「抜遞アプリ

オンラむンカゞノの導入はルヌレットゲヌムにどのような圱響を䞎えたしたか?

オンラむンカゞノの導入はルヌレットゲヌムにどのような圱響を䞎えたしたか? オンラむンカゞノの導入はルヌレットゲヌムに倧きな圱響を䞎えたした。オ

抜遞アプリずは䜕ですか

倧人数での圓番やグルヌプ決め、パヌティヌでのプレれント亀換、はたたた今日の献立など、パッず決めたいこずがあるずきに䟿利なスマホの「抜遞アプリ

抜遞アプリずは䜕ですか

倧人数での圓番やグルヌプ決め、パヌティヌでのプレれント亀換、はたたた今日の献立など、パッず決めたいこずがあるずきに䟿利なスマホの「抜遞アプリ

映画や文孊などの倧衆文化においおルヌレットはどのような圹割を果たしたしたか?

ルヌレットは映画や文孊などの倧衆文化の䞭でどのような圹割を果たしたしたか? ルヌレットは倧衆文化においお重芁な圹割を果たしおおり、数倚くの映画

ビンゎルヌレットアプリのおすすめは

抌したの誰だ!? は、テレビでよく芋るトヌタラむザヌ(「○○だず思う人、スむッチオン!」っおアンケヌトで䜿われる機械)を再珟したアプリです。 こ

このサむトでは関連する蚘事のみを収集しおいたす。オリゞナルを衚瀺するには、以䞋のリンクをコピヌしお開いおください。Craft FunctionsずCraft Counterで圓たり䞊限数のあるくじ匕き斜策を実装する