Tabby を React Native アプリに統合することはシームレスなプロセスですが、段階的なアプローチを提供するオンラインで利用できる包括的なガイドはありません。この記事では、複数のソースからの情報を統合して、React Native アプリに Tabby を実装するための明確なロードマップを提供します。
ステップ 1: Tabby SDK をインストールする
始めるには、React Native 用の Tabby SDK をインストールする必要があります。プロジェクト ディレクトリで次のコマンドを実行します:
npm i tabby-react-native-sdk
ステップ 2: プラットフォーム固有の構成を更新する
<key>NSCameraUsageDescription</key> <string>This allows Tabby to take a photo</string> <key>NSPhotoLibraryUsageDescription</key> <string>This allows Tabby to select a photo</string>
アプリに合わせて説明をカスタマイズできます。
<uses-permission android:name=”android.permission.CAMERA” /> <uses-permission android:name=”android.permission.READ_EXTERNAL_STORAGE” /> <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
これらの権限により、Tabby は必要なリソースにアクセスできるようになります。
ステップ 3: アプリで Tabby を初期化する
Tabby を初期化するには、アプリのエントリ ポイント (App.tsx または Index.js) に次のコードを追加します。
import {Tabby} from 'tabby-react-native-sdk'; Tabby.setApiKey('__API_KEY_HERE__');
Tabby.setApiKey() メソッドは API キーを設定し、アプリが Tabby のバックエンド サービスで認証できるようにします。
API_KEY_HERE を Tabby API キーに置き換えます。
ステップ 4: 支払いフローの作成
const customerPayment = { amount: 340.0, currency: 'SAR', buyer: { email: 'successful.payment@tabby.ai', phone: '+971500000001', }, }; const myTestPayment = { merchant_code: 'your merchant code', lang: 'en', payment: customerPayment, };
customerPayment オブジェクトは、金額、通貨、連絡先情報など、購入者の支払いの詳細を定義します。 myTestPayment オブジェクトには、merchant_code や優先言語などのマーチャント固有の詳細が含まれます。
セッショントリガーボタンの作成
セッション作成プロセスをトリガーするボタンを UI に追加します
<Button title="Proceed with Tabby" onPress={createCheckoutSession} />
このボタンを押すと、createCheckoutSession 関数がトリガーされ、支払いプロセスが開始されます。
セッション作成ロジックを実装する
次の関数でボタンの押下を処理します:
const createCheckoutSession = async () => { try { const {sessionId, paymentId, availableProducts} = await Tabby.createSession(myTestPayment); navigation.navigate('TabbyWebViewScreen', { url: availableProducts[0].webUrl, }); } catch (error) { if (error.response) { console.error('Response:', error.response); console.error('Status:', error.response.status); console.error('Data:', error.response.data); } console.error('Error creating Tabby checkout session', error); } };
Tabby.createSession() メソッドは、支払いデータを使用してチェックアウト セッションを作成します。成功した場合、応答には sessionId やチェックアウト URL などのセッションの詳細が含まれます。その後、ユーザーは新しい画面 (TabbyWebViewScreen) に移動して支払いを完了します。
ステップ 5: Tabby WebView 画面を作成する
Tabby のチェックアウト フローを表示する新しい画面をセットアップします:
'react' から React をインポートします。 {View、StyleSheet、Button} を「react-native」からインポートします。 import {useNavigation, useRoute} から '@react-navigation/native'; 「tabby-react-native-sdk」から {TabbyPaymentWebView} をインポートします。 const TabbyWebViewScreen = () => { const ナビゲーション = useNavigation(); const ルート = useRoute(); const {url} = ルート.パラメータ; const handlePaymentResult = message => { スイッチ (メッセージ) { ケース「承認済み」: console.log('支払いが承認されました'); ナビゲーション.goBack(); 壊す; ケースが「拒否されました」: console.log('支払いが拒否されました'); ナビゲーション.goBack(); 壊す; ケース「クローズ」: console.log('チェックアウトは終了しました'); ナビゲーション.goBack(); 壊す; ケースが「期限切れ」: console.log('セッションが期限切れになりました'); ナビゲーション.goBack(); 壊す; デフォルト: 壊す; } }; 戻る (
TabbyPaymentWebView コンポーネントはチェックアウト URL をロードし、Web ビューに表示します。
handlePaymentResult 関数は、支払い結果 (承認、拒否、期限切れなど) を処理し、それに応じてユーザーをリダイレクトします。
「戻る」ボタンを使用すると、ユーザーは前の画面に戻ることができます。
ステップ 6: 支払い結果の処理
handlePaymentResult 関数は、支払い結果に基づいてユーザーのリダイレクトを管理します:
承認済み:支払いは成功しました。
拒否されました: 支払いが拒否されました。
close: ユーザーがチェックアウトプロセスを閉じました。
期限切れ: セッションの期限が切れました。
これらの結果を使用して、アプリのユーザー エクスペリエンスをガイドします。
追加リソース
Tabby React ネイティブ SDK
タビーのドキュメント
Tabby React ネイティブの例
これらのリンクを参照して、Tabby の機能と高度な使用例をさらに詳しく調べてください。
以上がTabby を React Native に統合する方法: ステップバイステップガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。