iOS SDK API
GTCaptcha4SessionTaskDelegate
キャプチャセッションタスク用のデリゲートプロトコル。
gtCaptchaSession:didReceive:result:
キャプチャセッションの結果パラメータのコールバック。
宣言
- (void)gtCaptchaSession:(GTCaptcha4Session *)captchaSession
didReceive:(NSString *)status
result:(nullable NSDictionary *)result;
パラメータ
| パラメータ | 説明 |
|---|---|
| captchaSession | キャプチャセッション |
| status | ステータスコード。@"0"/@"1": 未完了/完了。 status が @"1" の場合、成功を示し、結果は二次検証が必要です。 |
| result | 結果検証パラメータ。 |
議論
結果パラメータを取得した後、それらをビジネスサーバーに送信してパラメータ検証を行う必要があります。result の例:
{
pass_token = "eb6d2e064524ae96ddc99a0e6e15f95dbb234008d108f0db269f27d426bcf3c6";
gen_time = "1660894030";
captcha_output = "fI9I34MDjVi10gJO_EqXwNpN8hK0rYLEPVWSDE4W6kc1umDoTHIlD_t6YQNNpPG2tJlKR8he6WFWkkllU8goGeNVNOzhqmAm256BpK8qAEHNrOjHzkNagfIcx_A21ssPrG6YlnnHFx3PfBnbrn5fb2aKDIi0I5xmCUjxq0dsFuANLIQVtllMjkJ7-1l_j-Wz";
captcha_id = "647f5ed2ed8acb4be36784e01556bb71";
lot_number = "0861c607d519469b9117d0c6dd551fe3";
}
gtCaptchaSession:didReceiveError:
キャプチャセッション中に発生したエラーのコールバック。
宣言
- (void)gtCaptchaSession:(GTCaptcha4Session *)captchaSession
didReceiveError:(GTC4Error *)error;
パラメータ
| パラメータ | 説明 |
|---|---|
| captchaSession | キャプチャセッション |
| error | エラー説明オブジェクト |
関連項目
GTCaptcha4Session
キャプチャセッション
delegate
キャプチャセッションタスク用のデリゲート。
宣言
@property (nonatomic, weak) id<GTCaptcha4SessionTaskDelegate> delegate;
captchaID
現在のセッションのキャプチャID。
宣言
@property (nonnull, readonly, nonatomic, strong) NSString *captchaID;
challenge
現在のセッションのチャレンジ番号。
宣言
@property (nullable, readonly, nonatomic, strong) NSString *challenge;
configuration
現在のキャプチャセッションの設定。
宣言
@property (nonnull, readonly, nonatomic, strong) GTCaptcha4SessionConfiguration *configuration;
sessionWithCaptchaID:
新しいキャプチャセッションインスタンスを作成。
宣言
+ (instancetype)sessionWithCaptchaID:(NSString *)captchaID;
パラメータ
| パラメータ | 説明 |
|---|---|
| captchaID | キャプチャID |
戻り値
新しい GTCaptcha4Session インスタンス
sessionWithCaptchaID:configuration:
新しいキャプチャセッションインスタンスを作成。
宣言
+ (instancetype)sessionWithCaptchaID:(NSString *)captchaID
configuration:(nullable GTCaptcha4SessionConfiguration *)configuration;
| パラメータ | 説明 |
|---|---|
| captchaID | キャプチャID |
| configuration | セッション設定 |
戻り値
新しい GTCaptcha4Session インスタンス
initWithCaptchaID:
新しいキャプチャセッションインスタンスを作成。
宣言
- (instancetype)initWithCaptchaID:(NSString *)captchaID;
パラメータ
| パラメータ | 説明 |
|---|---|
| captchaID | キャプチャID |
戻り値
新しい GTCaptcha4Session インスタンス
initWithCaptchaID:configuration:
新しいキャプチャセッションインスタンスを作成。
宣言
- (instancetype)initWithCaptchaID:(NSString *)captchaID
configuration:(nullable GTCaptcha4SessionConfiguration *)configuration;
| パラメータ | 説明 |
|---|---|
| captchaID | キャプチャID |
| configuration | セッション設定 |
戻り値
新しい GTCaptcha4Session インスタンス
verify
検証を開始。
宣言
- (void)verify;
cancel
検証をキャンセル。
宣言
- (void)cancel;
sdkVersion
SDKバージョンを取得。
宣言
+ (NSString *)sdkVersion;
GTCaptcha4SessionConfiguration
キャプチャセッション設定
GTC4UserInterfaceStyle
キャプチャインターフェーススタイル。
宣言
typedef NS_ENUM(NSInteger, GTC4UserInterfaceStyle) {
/** システムスタイルに従う */
GTC4UserInterfaceStyleSystem = 0,
/** ライトスタイル */
GTC4UserInterfaceStyleLight,
/** ダークスタイル */
GTC4UserInterfaceStyleDark,
/** デフォルトスタイル */
GTC4UserInterfaceStyleDefault = GTC4UserInterfaceStyleLight
};
resourcePath
静的リソースへのリモートアクセスの完全なパス。デフォルトは空です。
宣言
@property (nullable, nonatomic, strong) NSString *resourcePath;
protocol
静的リソースへのリモートアクセスに使用されるプロトコル。デフォルトは@"https"です。
宣言
@property (nonatomic, strong) NSString *protocol;
userInterfaceStyle
インターフェースとステータスバーのスタイル。デフォルトはプレーンな白です。
宣言
@property (nonatomic, assign) GTC4UserInterfaceStyle userInterfaceStyle;
backgroundColor
背景色。デフォルトは透明です。
宣言
@property (nonatomic, strong) UIColor *backgroundColor;
debugEnable
デバッグモードのスイッチ。デフォルトはオフです。
宣言
@property (nonatomic, assign) BOOL debugEnable;
backgroundUserInteractionEnable
背景とのインタラクション。デフォルトは有効です。
宣言
@property (nonatomic, assign) BOOL backgroundUserInteractionEnable;
timeout
リクエストのタイムアウト時間。デフォルトは8秒です。
宣言
@property (nonatomic, assign) NSTimeInterval timeout;
language
言語。デフォルトはシステムに従います。特定の言語については、言語コードを参照してください。
宣言
@property (nonatomic, strong) NSString *language;
supportedInterfaceOrientations
サポートされている画面の向き。
宣言
@property (assign, nonatomic) UIInterfaceOrientationMask supportedInterfaceOrientations;
additionalParameter
追加パラメータ。デフォルトは空です。パラメータは組み立てられ、engagelabに送信されます。
宣言
@property (nullable, nonatomic, strong) NSDictionary *additionalParameter;
ディスカッション
サポートされているキーと値のペアのリストは以下の通りです:
|キー |タイプ |説明|デフォルト値|
|---- |---- |---------- | ----------- |
| @"loading" | NSString | カスタムローディング状態インジケーター。WebViewでHTMLを読み込むためのローディングリソースの相対パス。空文字列を設定するとローディングがキャンセルされます。 | @"./gt4-loading.gif" |
| @"rem" | NSNumber | キャプチャ全体のスケーリング比率を設定します。 | @(1) |
| @"hideBar" | NSArray<NSString *> * | 次の検証インターフェースで閉じるボタンとリフレッシュボタンを非表示にします。@[@"close", @"refresh"]を設定すると、閉じるボタンとリフレッシュボタンの両方が非表示になります。 | @[] |
| @"nextWidth" | NSString | キャプチャポップアップの幅を設定します。単位が必要です(例: @"300px")。 | nil |
| @"riskType" | NSString | リスクコントロール統合と組み合わせて検証形式を指定します。 | nil |
| @"hideSuccess" | NSNumber | 検証成功ポップアップを非表示にします。@(0)/@(1)は非表示にしないまたは非表示にするを意味します。 | @(0) |
サンプルコード
#define captchaID @"1234567890abcdef"
GTCaptcha4SessionConfiguration *config = [GTCaptcha4SessionConfiguration defaultConfiguration];
NSMutableDictionary *params = [@{} mutableCopy];
[params setValue:@(1.25) forKey:@"rem"]; // 1.25倍にスケールアップ
[params setValue:@[@"close", @"refresh"] forKey:@"hideBar"]; // 閉じるボタンとリフレッシュボタンを非表示
[params setValue:@"300px" forKey:@"nextWidth"];
[params setValue:@"click" forKey:@"riskType"]; // インテリジェントクリック検証を指定(バックエンド設定と一致)
[params setValue:@(1) forKey:@"hideSuccess"]; // NSNumberを使用してブール値を表現
[params setValue:@"./gt4-loading.gif" forKey:@"loading"];
config.additionalParameter = params;
GTCaptcha4Session *captchaSession = [GTCaptcha4Session sessionWithCaptchaID:captchaID configuration:config];
...
defaultConfiguration
デフォルト設定を取得します。
宣言
+ (GTCaptcha4SessionConfiguration *)defaultConfiguration;
戻り値
+ (GTCaptcha4SessionConfiguration *)defaultConfiguration {
GTCaptcha4SessionConfiguration *config = [[GTCaptcha4SessionConfiguration alloc] init];
config.debugEnable = NO;
config.timeout = 8.0;
config.language = [GTC4Utils systemLanguage];
config.protocol = @"https";
config.userInterfaceStyle = GTC4UserInterfaceStyleDefault;
config.backgroundColor = [UIColor clearColor];
config.backgroundUserInteractionEnable = YES;
return config;
}
エラー
エラー説明オブジェクト
/// 無効なパラメータです。入力パラメータを確認してください。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeInvalidParameter;
/// 操作が失敗しました。詳細については説明を確認してください。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeOperationFail;
/// リソースが見つかりません。GTCaptcha4.bundleファイルが完全であることを確認してください。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeMissedResource;
/// ユーザーが検証をキャンセルしました。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeUserDidCancel;
/// ファイルの読み込みに失敗しました。完全なGTCaptcha4.bundleファイルがインポートされているか、設定されたリモート静的リソースにアクセス可能であるかを確認してください。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeLoadFileFailure;
/// 読み込みタイムアウト。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeTimeout;
/// Javascriptスクリプトの実行に失敗しました。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeEvaluatingJavascriptFail;
/// Javascriptがエラーを返しました。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeJavascriptError;
/// WebViewのメモリ警告。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeWebViewMemoryWarning;
/// 不明なエラー。
FOUNDATION_EXPORT NSString * const GTC4ErrorCodeUnknown;
code
エラーコード。マッチングと処理に使用できます。
宣言
@property (readonly, nonatomic, strong) NSString *code;
関連項目
上記のエラーコードリストを参照してください。
msg
エラーメッセージ。ユーザーインターフェースに表示できます。
宣言
@property (readonly, nonatomic, strong) NSString *msg;
desc
詳細なエラー説明。詳細なトラブルシューティングに使用します。
宣言
@property (readonly, nonatomic, strong) NSDictionary *desc;
ディスカッション
検証を使用するユーザーの運用上の問題をサポートするために使用できます。










