ÿÿ Adaptyクイックスタートガイド | Adapty ドキュメント

React Native SDKã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’識別ã™ã‚‹

ã“ã®ã‚¬ã‚¤ãƒ‰ã¯ã€ç‹¬è‡ªã®èªè¨¼ã‚·ã‚¹ãƒ†ãƒ ã‚’æŒã£ã¦ã„ã‚‹æ–¹å‘ã‘ã§ã™ã€‚ã“ã“ã§ã¯ã€Adaptyã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ—ロファイルを管ç†ã—ã€æ—¢å­˜ã®èªè¨¼ã‚·ã‚¹ãƒ†ãƒ ã¨é€£æºã•ã›ã‚‹æ–¹æ³•を説明ã—ã¾ã™ã€‚

ユーザーã®è³¼å…¥ã‚’ã©ã®ã‚ˆã†ã«ç®¡ç†ã™ã‚‹ã‹ã¯ã€ã‚¢ãƒ—リã®èªè¨¼ãƒ¢ãƒ‡ãƒ«ã«ã‚ˆã£ã¦ç•°ãªã‚Šã¾ã™ã€‚

主è¦ãªæ¦‚念:

  • プロファイルã¯SDKãŒå‹•作ã™ã‚‹ãŸã‚ã«å¿…è¦ãªã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã§ã€AdaptyãŒè‡ªå‹•çš„ã«ä½œæˆã—ã¾ã™ã€‚
  • プロファイルã¯åŒ¿å**(カスタマーユーザーIDãªã—)ã¾ãŸã¯è­˜åˆ¥æ¸ˆã¿ï¼ˆã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã‚り)**ã®ã„ãšã‚Œã‹ã§ã™ã€‚
  • カスタマーユーザーIDã‚’æä¾›ã™ã‚‹ã“ã¨ã§ã€Adaptyã®ãƒ—ロファイルã¨ã‚ãªãŸã®ã‚·ã‚¹ãƒ†ãƒ ã®IDã‚’ç´ä»˜ã‘られã¾ã™ã€‚

匿åユーザーã¨è­˜åˆ¥æ¸ˆã¿ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®é•ã„ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ï¼š

匿åユーザー識別済ã¿ãƒ¦ãƒ¼ã‚¶ãƒ¼
購入管ç†ã‚¹ãƒˆã‚¢ãƒ¬ãƒ™ãƒ«ã®è³¼å…¥å¾©å…ƒã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDを通ã˜ã¦ãƒ‡ãƒã‚¤ã‚¹ã‚’ã¾ãŸã„ã§è³¼å…¥å±¥æ­´ã‚’ç¶­æŒ
プロファイル管ç†å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã®ãŸã³ã«æ–°ã—ã„プロファイルãŒä½œæˆã•れるセッションやデãƒã‚¤ã‚¹ã‚’ã¾ãŸã„ã§åŒã˜ãƒ—ロファイルを使用
ãƒ‡ãƒ¼ã‚¿ã®æ°¸ç¶šæ€§åŒ¿åユーザーã®ãƒ‡ãƒ¼ã‚¿ã¯ã‚¢ãƒ—リã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã«ç´ä»˜ã識別済ã¿ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ‡ãƒ¼ã‚¿ã¯ã‚¢ãƒ—リã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’ã¾ãŸã„ã§ä¿æŒã•れる

匿åユーザー

ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰èªè¨¼ãŒãªã„å ´åˆã€ã‚¢ãƒ—リã®ã‚³ãƒ¼ãƒ‰ã§èªè¨¼å‡¦ç†ã‚’行ã†å¿…è¦ã¯ã‚りã¾ã›ã‚“:

  1. アプリã®åˆå›žèµ·å‹•時ã«SDKãŒæœ‰åŠ¹åŒ–ã•れるã¨ã€Adaptyã¯ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãŸã‚ã«New プロファイルを作æˆã—ã¾ã™ã€‚
  2. ユーザーãŒã‚¢ãƒ—リ内ã§ä½•ã‹è³¼å…¥ã™ã‚‹ã¨ã€ãã®è³¼å…¥ã¯Adaptyプロファイルã¨ã‚¹ãƒˆã‚¢ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ç´ä»˜ã‘られã¾ã™ã€‚
  3. ユーザーãŒã‚¢ãƒ—リをå†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã‚Šã€æ–°ã—ã„デãƒã‚¤ã‚¹ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ãŸã‚Šã™ã‚‹ã¨ã€Adaptyã¯æœ‰åŠ¹åŒ–æ™‚ã«æ–°ã—ã„匿åプロファイルを作æˆã—ã¾ã™ã€‚
  4. ユーザーãŒãれ以å‰ã«ã‚¢ãƒ—リã§è³¼å…¥ã—ã¦ã„ãŸå ´åˆã€ãƒ‡ãƒ•ォルトã§ã¯SDK有効化時ã«App Storeã‹ã‚‰è³¼å…¥å±¥æ­´ãŒè‡ªå‹•çš„ã«åŒæœŸã•れã¾ã™ã€‚

匿åユーザーã®å ´åˆã€ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã®ãŸã³ã«æ–°ã—ã„プロファイルãŒä½œæˆã•れã¾ã™ãŒã€Adaptyアナリティクスã§ã¯æ–°è¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¨ã¿ãªã™åŸºæº–を設定ã§ãã‚‹ãŸã‚ã€å•題ã«ã¯ãªã‚Šã¾ã›ã‚“。

ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‹ã‚‰ã®å¾©å…ƒã¯ã€å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¨ã¯ç•°ãªã‚‹å‹•作をã—ã¾ã™ã€‚デフォルトã§ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‹ã‚‰å¾©å…ƒã™ã‚‹éš›ã€SDKã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•れãŸãƒ‡ãƒ¼ã‚¿ã‚’ä¿æŒã—ã€æ–°ã—ã„プロファイルを作æˆã—ã¾ã›ã‚“。ã“ã®å‹•作ã¯clearDataOnBackup設定ã§å¤‰æ›´ã§ãã¾ã™ã€‚詳細を確èªã™ã‚‹ã€‚

匿åユーザーã®å ´åˆã€ãƒ‡ãƒã‚¤ã‚¹IDã«åŸºã¥ã„ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ•°ã‚’カウントã—ã¾ã™ã€‚ã“ã®å ´åˆã€å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’å«ã‚ã€ãƒ‡ãƒã‚¤ã‚¹ä¸Šã®ã‚¢ãƒ—リインストールãŒãれãžã‚Œ1回ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã¨ã—ã¦ã‚«ã‚¦ãƒ³ãƒˆã•れã¾ã™ã€‚

識別済ã¿ãƒ¦ãƒ¼ã‚¶ãƒ¼

ユーザーを識別ã™ã‚‹æ–¹æ³•ã¯2ã¤ã‚りã¾ã™ï¼š

  • ログイン/サインアップ時: アプリ起動後ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚µã‚¤ãƒ³ã‚¤ãƒ³ã™ã‚‹å ´åˆã€èªè¨¼æ™‚ã«identify()をカスタマーユーザーIDã¨å…±ã«å‘¼ã³å‡ºã—ã¾ã™ã€‚

  • SDKã®æœ‰åŠ¹åŒ–æ™‚: アプリ起動時ã«ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDãŒã™ã§ã«ä¿å­˜ã•れã¦ã„ã‚‹å ´åˆã€activate()呼ã³å‡ºã—時ã«ãれを渡ã—ã¾ã™ã€‚

デフォルトã§ã¯ã€ã‚るカスタマーユーザーIDã‹ã‚‰è³¼å…¥ãŒç™ºç”Ÿã—ãŸéš›ã€ãã®IDãŒåˆ¥ã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã«ç´ä»˜ã„ã¦ã„ã¦ã‚‚ã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã¯å…±æœ‰ã•れã¾ã™ã€‚ã¤ã¾ã‚Šã€ä¸¡æ–¹ã®ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ãŒæœ‰æ–™ã‚¢ã‚¯ã‚»ã‚¹ã‚’æŒã¡ã¾ã™ã€‚ã“ã®è¨­å®šã‚’変更ã—ã¦ã€ä¸€æ–¹ã®ãƒ—ロファイルã‹ã‚‰ä»–æ–¹ã¸ã‚¢ã‚¯ã‚»ã‚¹ã‚’移譲ã—ãŸã‚Šã€å…±æœ‰ã‚’無効ã«ã—ãŸã‚Šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚詳細ã¯ã“ã¡ã‚‰ã®è¨˜äº‹ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

identify-diagram.webp

ログイン/サインアップ時

アプリ起動後ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’識別ã™ã‚‹å ´åˆï¼ˆä¾‹ï¼šãƒ­ã‚°ã‚¤ãƒ³ã‚„サインアップ後)ã€identifyメソッドを使ã£ã¦ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDを設定ã—ã¾ã™ã€‚

  • ã“ã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã‚’åˆã‚ã¦ä½¿ã†å ´åˆã€Adaptyã¯è‡ªå‹•çš„ã«ç¾åœ¨ã®ãƒ—ロファイルã«ç´ä»˜ã‘ã¾ã™ã€‚
  • 以å‰ã«ã“ã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’識別ã—ãŸã“ã¨ãŒã‚ã‚‹å ´åˆã€Adaptyã¯ãã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ç´ä»˜ã„ãŸãƒ—ロファイルã¸åˆ‡ã‚Šæ›¿ãˆã¾ã™ã€‚

カスタマーユーザーIDã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã”ã¨ã«ä¸€æ„ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚パラメータã®å€¤ã‚’ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‰ã™ã‚‹ã¨ã€ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒåŒä¸€äººç‰©ã¨ã¿ãªã•れã¾ã™ã€‚

ä»–ã®SDKメソッドを呼ã³å‡ºã™å‰ã«ã€å¿…ãšidentifyã‚’awaitã—ã¦ãã ã•ã„。並列呼ã³å‡ºã—を行ã†ã¨#3006 profileWasChangedãŒç™ºç”Ÿã—ãŸã‚Šã€åŒ¿åプロファイルã«å¯¾ã—ã¦æ“作ãŒè¡Œã‚れる場åˆãŒã‚りã¾ã™ã€‚詳ã—ãã¯React Native SDKã®å‘¼ã³å‡ºã—é †åºã‚’å‚ç…§ã—ã¦ãã ã•ã„。

try {
    await adapty.identify("YOUR_USER_ID"); // Unique for each user
    // successfully identified
} catch (error) {
    // handle the error
}

SDKã®æœ‰åŠ¹åŒ–æ™‚

SDKを有効化ã™ã‚‹æ™‚点ã§ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDãŒæ—¢ã«ã‚ã‹ã£ã¦ã„ã‚‹å ´åˆã€identifyを別途呼ã³å‡ºã•ãšã«activateãƒ¡ã‚½ãƒƒãƒ‰ã«æ¸¡ã™ã“ã¨ãŒã§ãã¾ã™ã€‚

カスタマーユーザーIDãŒã‚ã‹ã£ã¦ã„ã‚‹ã«ã‚‚ã‹ã‹ã‚らãšã€æœ‰åŠ¹åŒ–å¾Œã«ã®ã¿è¨­å®šã—ãŸå ´åˆã€æœ‰åŠ¹åŒ–æ™‚ã«Adaptyã¯æ–°ã—ã„匿åプロファイルを作æˆã—ã€identifyを呼ã³å‡ºã—ãŸå¾Œã«ã®ã¿æ—¢å­˜ã®ãƒ—ロファイルã«åˆ‡ã‚Šæ›¿ã‚りã¾ã™ã€‚

既存ã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼ID(以å‰ã«ä½¿ç”¨ã—ãŸã‚‚ã®ï¼‰ã¾ãŸã¯æ–°ã—ã„ã‚‚ã®ã‚’渡ã™ã“ã¨ãŒã§ãã¾ã™ã€‚æ–°ã—ã„ã‚‚ã®ã‚’渡ã—ãŸå ´åˆã€æœ‰åŠ¹åŒ–æ™‚ã«ä½œæˆã•れる新ã—ã„プロファイルãŒè‡ªå‹•çš„ã«ãã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDã«ç´ä»˜ã‘られã¾ã™ã€‚

デフォルトã§ã¯ã€åŒ¿åプロファイルã®ä½œæˆã¯ã‚¢ãƒŠãƒªãƒ†ã‚£ã‚¯ã‚¹ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã«å½±éŸ¿ã—ã¾ã›ã‚“。インストールã¯ãƒ‡ãƒã‚¤ã‚¹IDã«åŸºã¥ã„ã¦ã‚«ã‚¦ãƒ³ãƒˆã•れるãŸã‚ã§ã™ã€‚

デãƒã‚¤ã‚¹IDã¯ã‚¹ãƒˆã‚¢ã‹ã‚‰ãƒ‡ãƒã‚¤ã‚¹ã¸ã®ã‚¢ãƒ—リã®1回ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’表ã—ã€ã‚¢ãƒ—リã®å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«å¾Œã«ã®ã¿å†ç”Ÿæˆã•れã¾ã™ã€‚
åˆå›žã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‹å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‹ã‚„ã€æ—¢å­˜ã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼IDを使用ã™ã‚‹ã‹ã©ã†ã‹ã«ã¯ä¾å­˜ã—ã¾ã›ã‚“。

プロファイルã®ä½œæˆï¼ˆSDK有効化時ã¾ãŸã¯ãƒ­ã‚°ã‚¢ã‚¦ãƒˆæ™‚)ã€ãƒ­ã‚°ã‚¤ãƒ³ã€ã¾ãŸã¯å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ãªã—ã®ã‚¢ãƒ—リアップグレードã§ã¯ã€è¿½åŠ ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚¤ãƒ™ãƒ³ãƒˆã¯ç™ºç”Ÿã—ã¾ã›ã‚“。

インストールをデãƒã‚¤ã‚¹ã§ã¯ãªã一æ„ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«åŸºã¥ã„ã¦ã‚«ã‚¦ãƒ³ãƒˆã—ãŸã„å ´åˆã¯ã€App settingsã§Installs definition for analyticsを設定ã—ã¦ãã ã•ã„。

adapty.activate("PUBLIC_SDK_KEY", {
    customerUserId: "YOUR_USER_ID" // Customer user IDs must be unique for each user. If you hardcode the parameter value, all users will be considered as one.
});

ユーザーをログアウトã•ã›ã‚‹

ユーザーã®ãƒ­ã‚°ã‚¢ã‚¦ãƒˆãƒœã‚¿ãƒ³ãŒã‚ã‚‹å ´åˆã¯ã€logoutメソッドを使用ã—ã¾ã™ã€‚

ユーザーã®ãƒ­ã‚°ã‚¢ã‚¦ãƒˆæ™‚ã«ã€æ–°ã—ã„匿åプロファイルãŒä½œæˆã•れã¾ã™ã€‚

try {
    await adapty.logout();
    // successful logout
} catch (error) {
    // handle the error
}

ユーザーをアプリã«å†åº¦ãƒ­ã‚°ã‚¤ãƒ³ã•ã›ã‚‹ã«ã¯ã€identifyメソッドを使用ã—ã¦ãã ã•ã„。

ログインãªã—ã§è³¼å…¥ã‚’許å¯ã™ã‚‹

ユーザーãŒãƒ­ã‚°ã‚¤ãƒ³å‰å¾Œã®ä¸¡æ–¹ã§è³¼å…¥ã§ãã‚‹å ´åˆã€ãƒ­ã‚°ã‚¤ãƒ³å¾Œã‚‚アクセスãŒç¶­æŒã•れるよã†å¯¾å¿œãŒå¿…è¦ã§ã™ï¼š

  1. ログアウト状態ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè³¼å…¥ã‚’行ã†ã¨ã€Adaptyã¯ãれをãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ—ロファイルIDã«ç´ä»˜ã‘ã¾ã™ã€‚
  2. ユーザーãŒã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹ã¨ã€Adaptyã¯è­˜åˆ¥æ¸ˆã¿ãƒ—ロファイルã«åˆ‡ã‚Šæ›¿ãˆã¾ã™ã€‚
    • æ–°ã—ã„カスタマーユーザーID(例:登録å‰ã«è³¼å…¥ãŒè¡Œã‚れãŸå ´åˆï¼‰ã®å ´åˆã€Adaptyã¯ãã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’ç¾åœ¨ã®ãƒ—ロファイルã«å‰²ã‚Šå½“ã¦ã€è³¼å…¥å±¥æ­´ãŒå¼•ãç¶™ãŒã‚Œã¾ã™ã€‚
    • 既存ã®ã‚«ã‚¹ã‚¿ãƒžãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼ID(ã™ã§ã«ãƒ—ロファイルã«ç´ä»˜ã„ã¦ã„る)ã®å ´åˆã€ãƒ—ロファイル切り替ãˆå¾Œã«å®Ÿéš›ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’å–å¾—ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚識別後ã™ãã«getProfileを呼ã³å‡ºã™ã‹ã€ãƒ—ãƒ­ãƒ•ã‚¡ã‚¤ãƒ«ã®æ›´æ–°ã‚’リッスンã—ã¦ãƒ‡ãƒ¼ã‚¿ã‚’自動的ã«åŒæœŸã•ã›ã¦ãã ã•ã„。

次ã®ã‚¹ãƒ†ãƒƒãƒ—

ãŠã‚ã§ã¨ã†ã”ã–ã„ã¾ã™ï¼ã‚¢ãƒ—リã«ã‚¢ãƒ—リ内課金ã®ãƒ­ã‚¸ãƒƒã‚¯ã‚’実装ã§ãã¾ã—ãŸã€‚アプリã®åŽç›ŠåŒ–ã‚’æˆåŠŸã•ã›ã¦ãã ã•ã„ï¼

Adaptyã‚’ã•ã‚‰ã«æ´»ç”¨ã™ã‚‹ãŸã‚ã«ã€ä»¥ä¸‹ã®ãƒˆãƒ”ックもã”確èªãã ã•ã„:

  • テスト:ã™ã¹ã¦ãŒæœŸå¾…通りã«å‹•作ã™ã‚‹ã“ã¨ã‚’確èªã™ã‚‹
  • オンボーディング:オンボーディングã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’引ã付ã‘ã¦ãƒªãƒ†ãƒ³ã‚·ãƒ§ãƒ³ã‚’å‘上ã•ã›ã‚‹
  • インテグレーション:マーケティングアトリビューションや分æžã‚µãƒ¼ãƒ“スをã‚ãšã‹1行ã®ã‚³ãƒ¼ãƒ‰ã§é€£æºã™ã‚‹
  • カスタムプロファイル属性ã®è¨­å®šï¼šãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ—ロファイルã«ã‚«ã‚¹ã‚¿ãƒ å±žæ€§ã‚’追加ã—ã¦ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã‚’作æˆã—ã€A/Bテストを実施ã—ãŸã‚Šã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã”ã¨ã«ç•°ãªã‚‹ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‚’表示ã—ãŸã‚Šã™ã‚‹
ÿÿÿÿ