com.xd.sdk.common 7.2.1-alpha → 7.2.1-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/Plugins/iOS/XDCommonSDK.framework/Headers/NSError+XDG.h +15 -14
  2. package/Plugins/iOS/XDCommonSDK.framework/Headers/XDCommonSDK-Swift.h +2 -19
  3. package/Plugins/iOS/XDCommonSDK.framework/Headers/XDGConfig.h +4 -2
  4. package/Plugins/iOS/XDCommonSDK.framework/Headers/XDGUser.h +7 -7
  5. package/Plugins/iOS/XDCommonSDK.framework/Headers/XDVersion.h +3 -3
  6. package/Plugins/iOS/XDCommonSDK.framework/Info.plist +0 -0
  7. package/Plugins/iOS/XDCommonSDK.framework/Modules/XDCommonSDK.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  8. package/Plugins/iOS/XDCommonSDK.framework/Modules/XDCommonSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  9. package/Plugins/iOS/XDCommonSDK.framework/Modules/XDCommonSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
  10. package/Plugins/iOS/XDCommonSDK.framework/Modules/module.modulemap +5 -0
  11. package/Plugins/iOS/XDCommonSDK.framework/XDCommonSDK +0 -0
  12. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/de.lproj/Localizable.strings +4 -4
  13. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/en.lproj/Localizable.strings +4 -4
  14. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/es.lproj/Localizable.strings +4 -4
  15. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/fr.lproj/Localizable.strings +4 -4
  16. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/id.lproj/Localizable.strings +4 -4
  17. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/ja.lproj/Localizable.strings +4 -4
  18. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/ko.lproj/Localizable.strings +4 -4
  19. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/pt.lproj/Localizable.strings +4 -4
  20. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/ru.lproj/Localizable.strings +4 -4
  21. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/th.lproj/Localizable.strings +4 -4
  22. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/tr.lproj/Localizable.strings +4 -4
  23. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/vi.lproj/Localizable.strings +4 -4
  24. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/zh-Hans.lproj/Localizable.strings +4 -4
  25. package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/zh-Hant.lproj/Localizable.strings +4 -4
  26. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapAchievementCallback.h +54 -0
  27. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapAchievementWrapper.h +49 -0
  28. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapCloudSaveCallback.h +90 -0
  29. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapCloudSaveWrapper.h +74 -0
  30. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapMomentDelegate.h +77 -0
  31. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapMomentWrapper.h +64 -0
  32. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDTapSDK4WrapperSDK.h +16 -3
  33. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Info.plist +0 -0
  34. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Modules/XDTapSDK4WrapperSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
  35. package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/XDTapSDK4WrapperSDK +0 -0
  36. package/Runtime/Internal/Core/IBridgeWebView.cs +4 -0
  37. package/Runtime/Internal/IXDGCommon.Extended.cs +2 -0
  38. package/Runtime/Internal/Mobile/CommonFeaturesImpl.cs +5 -0
  39. package/Runtime/Internal/Standalone/Captcha/XDGCaptcha.cs +1 -1
  40. package/Runtime/Internal/Standalone/CommonFeaturesImpl.cs +13 -0
  41. package/Runtime/Internal/Standalone/Steam/SteamManager.cs +2 -0
  42. package/Runtime/Internal/Standalone/UI/Controllers/CancelAccountAlert.cs +1 -1
  43. package/Runtime/Internal/Standalone/UI/Controllers/XDWebViewAlert.cs +1 -1
  44. package/Runtime/Internal/Standalone/Web/Function/CloseWebFunction.cs +1 -1
  45. package/Runtime/Internal/Standalone/Web/Function/OpenPageWebFunction.cs +1 -1
  46. package/Runtime/Internal/Standalone/Web/Function/WebFunctionHolder.cs +1 -1
  47. package/Runtime/Internal/Standalone/Web/WebBridgeController.cs +1 -1
  48. package/Runtime/Internal/Standalone/Web/WebRequest.cs +1 -1
  49. package/Runtime/Internal/Standalone/Web/XDWebBridgeView.cs +1 -1
  50. package/Runtime/Internal/XDGCommonInternal.cs +5 -0
  51. package/package.json +2 -2
@@ -9,20 +9,21 @@
9
9
 
10
10
  NS_ASSUME_NONNULL_BEGIN
11
11
 
12
- static const int XDGErrorCodeSuccess = 60000;
13
- static const int XDGErrorCodeFailed = 60001;
14
- static const int XDGErrorCodeNotInited = 60002;
15
- static const int XDGErrorCodeNotLogin = 60003;
16
- static const int XDGErrorCodeCancelled = 60010;
17
- static const int XDGErrorCodeInvalidParam = 60020;
18
- static const int XDGErrorCodeServiceNotAvailable = 60030;
19
- static const int XDGErrorCodeNetworkError = 60040;
20
-
21
- static const int XDGErrorCodeAuthTypeNotAvailable = 62001;
22
- static const int XDGErrorCodeAuthTokenExpired = 62002;
23
-
24
- static const int XDGErrorCodePaymentInvalidProduct = 63001;
25
- static const int XDGErrorCodePaymentPriceExceeded = 63002;
12
+ static const NSInteger XDGErrorCodeSuccess = 60000;
13
+ static const NSInteger XDGErrorCodeFailed = 60001;
14
+ static const NSInteger XDGErrorCodeNotInited = 60002;
15
+ static const NSInteger XDGErrorCodeNotLogin = 60003;
16
+ static const NSInteger XDGErrorCodeCancelled = 60010;
17
+ static const NSInteger XDGErrorCodeInvalidParam = 60020;
18
+ static const NSInteger XDGErrorCodeServiceNotAvailable = 60030;
19
+ static const NSInteger XDGErrorCodeNetworkError = 60040;
20
+
21
+ static const NSInteger XDGErrorCodeAuthTypeNotAvailable = 62001;
22
+ static const NSInteger XDGErrorCodeAuthTokenExpired = 62002;
23
+
24
+ static const NSInteger XDGErrorCodePaymentInvalidProduct = 63001;
25
+ static const NSInteger XDGErrorCodePaymentPending = 63002;
26
+ static const NSInteger XDGErrorCodePaymentPriceExceeded = 63003;
26
27
 
27
28
  extern NSString *const XDGE_RROR_DOMAIN_ACCOUNT;
28
29
 
@@ -1,6 +1,6 @@
1
1
  #if 0
2
2
  #elif defined(__arm64__) && __arm64__
3
- // Generated by Apple Swift version 6.0.3 effective-5.10 (swiftlang-6.0.3.1.10 clang-1600.0.30.1)
3
+ // Generated by Apple Swift version 6.2.1 effective-5.10 (swiftlang-6.2.1.4.8 clang-1700.4.4.1)
4
4
  #ifndef XDCOMMONSDK_SWIFT_H
5
5
  #define XDCOMMONSDK_SWIFT_H
6
6
  #pragma clang diagnostic push
@@ -65,6 +65,7 @@
65
65
  # if __has_include(<uchar.h>)
66
66
  # include <uchar.h>
67
67
  # elif !defined(__cplusplus)
68
+ typedef unsigned char char8_t;
68
69
  typedef uint_least16_t char16_t;
69
70
  typedef uint_least32_t char32_t;
70
71
  # endif
@@ -280,9 +281,6 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
280
281
  #if __has_warning("-Watimport-in-framework-header")
281
282
  #pragma clang diagnostic ignored "-Watimport-in-framework-header"
282
283
  #endif
283
- @import CoreFoundation;
284
- @import Foundation;
285
- @import UIKit;
286
284
  #endif
287
285
 
288
286
  #endif
@@ -304,21 +302,6 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
304
302
  #endif
305
303
 
306
304
  #if defined(__OBJC__)
307
- @class NSCoder;
308
-
309
- SWIFT_CLASS("_TtC11XDCommonSDK14XDGLoadingView")
310
- @interface XDGLoadingView : UIView
311
- - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
312
- + (XDGLoadingView * _Nonnull)createInAppWindow SWIFT_WARN_UNUSED_RESULT;
313
- + (void)dismissInAppWindow;
314
- + (XDGLoadingView * _Nonnull)createInView:(UIView * _Nullable)containerView SWIFT_WARN_UNUSED_RESULT;
315
- + (void)dismissInView:(UIView * _Nullable)containerView;
316
- - (nonnull instancetype)initInView:(UIView * _Nullable)containerView;
317
- - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
318
- - (void)showLoading;
319
- - (void)showLoadingWithDuration:(NSTimeInterval)duration;
320
- - (void)dismissLoading;
321
- @end
322
305
 
323
306
  #endif
324
307
  #if __has_attribute(external_source_symbol)
@@ -87,7 +87,7 @@ typedef NS_ENUM(NSInteger, XDSDKRegionType) {
87
87
  /// 统一登录窗口中的登录入口选项
88
88
  @property (nonatomic, strong) NSArray *loginEntries;
89
89
  /// XDGSDK app id
90
- @property (nonatomic, copy) NSString *appId;
90
+ @property (nonatomic, copy, nullable) NSString *appId;
91
91
  /// 用户中心窗口中绑定入口选项
92
92
  @property (nonatomic, strong) NSArray<XDGGameBindEntry *> *bindEntries;
93
93
  /// 发行区域
@@ -100,7 +100,7 @@ typedef NS_ENUM(NSInteger, XDSDKRegionType) {
100
100
  @property (nonatomic, copy) NSString *numberAuthToken;
101
101
  /// 头条
102
102
  @property (nonatomic, assign) BOOL ttEnable;
103
- /// Tap后置授权
103
+ /// 启用Tap后置授权
104
104
  @property (nonatomic, assign) BOOL enableTapPostAuth;
105
105
  /// WebView 白名单
106
106
  @property (nonatomic, strong) NSArray *webWhiteList;
@@ -112,6 +112,8 @@ typedef NS_ENUM(NSInteger, XDSDKRegionType) {
112
112
  @property (nonatomic, assign) BOOL disableWebPreload;
113
113
  /// 关闭票据上传
114
114
  @property (nonatomic, assign) BOOL disableReceiptUpload;
115
+ /// 启用 SK2 购买流程
116
+ @property (nonatomic, assign) BOOL enableSK2;
115
117
 
116
118
  - (BOOL)isCN;
117
119
 
@@ -8,25 +8,25 @@ NS_ASSUME_NONNULL_BEGIN
8
8
  @interface XDGUser : NSObject <NSCoding>
9
9
 
10
10
  /// 用户 ID
11
- @property (nonatomic,copy,readonly) NSString *userId;
11
+ @property (nonatomic,copy,readonly,nullable) NSString *userId;
12
12
 
13
13
  /// 用户名称
14
- @property (nonatomic,copy,readonly) NSString *name;
14
+ @property (nonatomic,copy,readonly,nullable) NSString *name;
15
15
 
16
16
  /// 用户昵称
17
- @property (nonatomic,copy,readonly) NSString *nickName;
17
+ @property (nonatomic,copy,readonly,nullable) NSString *nickName;
18
18
 
19
19
  /// 用户头像
20
- @property (nonatomic,copy) NSString *avatar;
20
+ @property (nonatomic,copy,nullable) NSString *avatar;
21
21
 
22
22
  /// 用户当前登录方式
23
- @property (nonatomic,copy,readonly) LoginEntryType loginType;
23
+ @property (nonatomic,copy,readonly,nullable) LoginEntryType loginType;
24
24
 
25
25
  /// 用户已绑定登录方式
26
- @property (nonatomic,copy,readonly) NSArray<NSString *> *boundAccounts;
26
+ @property (nonatomic,copy,readonly,nullable) NSArray<NSString *> *boundAccounts;
27
27
 
28
28
  /// 用户 Token
29
- @property (nonatomic,strong,readonly) XDGAccessToken *token;
29
+ @property (nonatomic,strong,readonly,nullable) XDGAccessToken *token;
30
30
 
31
31
  /// 当前用户
32
32
  + (XDGUser *)currentUser;
@@ -5,6 +5,6 @@
5
5
  // Created by Fattycat on 2022/5/13.
6
6
  //
7
7
 
8
- #define XDSDK_VERSION @"7.2.0"
9
- #define XDSDK_VERSION_CODE @"7020000"
10
- // HASH 8d15387e
8
+ #define XDSDK_VERSION @"7.3.0"
9
+ #define XDSDK_VERSION_CODE @"7030000"
10
+ // HASH e0ae45d9
@@ -4,3 +4,8 @@ framework module XDCommonSDK {
4
4
 
5
5
  module * { export * }
6
6
  }
7
+
8
+ module XDCommonSDK.Swift {
9
+ header "XDCommonSDK-Swift.h"
10
+ requires objc
11
+ }
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "Aktuell kann man nicht auf das Spiel zugreifen";
43
43
  "tds_refund_login_restrict_sub_title"= "Zahle alle Zahlungen für alle zurückerstatteten Bestellungen zurück, um auf das Spiel zuzugreifen";
44
44
  "tds_refund_ios_pay_tip"= "Einige deiner erstatteten Bestellungen können in diesem System nicht zurückgezahlt werden. Melde dich bitte über ein iOS-Gerät an, um die Zahlung zu vollenden";
45
- "tds_pay_success"= "Erfolgreich aufgeldaden";
46
- "tds_pay_fail"= "Aufladen fehlgeschlagen";
47
- "tds_pay_cancel"="Aufladen abgebrochen";
45
+ "tds_pay_success"= "Vorgang abgeschlossen";
46
+ "tds_pay_fail"= "Vorgang fehlgeschlagen";
47
+ "tds_pay_cancel"="Vom Benutzer abgebrochen";
48
48
  "tds_button_confirm"= "Bestätigen";
49
49
  "tds_promotion_exchange_title"= "Artikel erhalten";
50
50
  "tds_promotion_exchange_desc"= "Du besitzt bereits diesen Artikel. Willst du ihn diesen Charakter geben";
51
51
  "tds_refund_android_pay_tip"= "Einige deiner erstatteten Bestellungen können in diesem System nicht zurückgezahlt werden. Melde dich bitte über ein Android-Gerät an, um die Zahlung zu vollenden";
52
- "tds_pay_net_fail"= "Netzwerkfehler. Fehler beim Aufladen";
52
+ "tds_pay_net_fail"= "Netzwerkfehler, bitte versuchen Sie es später erneut";
53
53
  "tds_refund_net_fail"= "Netzwerkfehler. Rückzahlung fehlgeschlagen";
54
54
  "tds_purchase_processing"= "Diese Bestellung wird bearbeitet, bitte später erneut versuchen";
55
55
  "tds_confirm_agreement"= "Einverstanden";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "Unable to access the game at the moment";
43
43
  "tds_refund_login_restrict_sub_title"= "Complete payments for all refunded orders to access the game";
44
44
  "tds_refund_ios_pay_tip"= "Some of your refunded orders can't be repaid in this system. Please log in via an iOS device to complete the payment";
45
- "tds_pay_success"= "Recharged";
46
- "tds_pay_fail"= "Failed to recharge";
47
- "tds_pay_cancel"="Recharge cancelled";
45
+ "tds_pay_success"= "Operation completed";
46
+ "tds_pay_fail"= "Operation failed";
47
+ "tds_pay_cancel"="User canceled";
48
48
  "tds_button_confirm"= "Confirm";
49
49
  "tds_promotion_exchange_title"= "Claim Item";
50
50
  "tds_promotion_exchange_desc"= "You already have this item. Sure to send same item to current character?";
51
51
  "tds_refund_android_pay_tip"= "Some of your refunded orders can't be repaid in this system. Please log in via an Android device to complete the payment";
52
- "tds_pay_net_fail"= "Network error. Failed to recharge";
52
+ "tds_pay_net_fail"= "Network error, please try again later";
53
53
  "tds_refund_net_fail"= "Network error. Failed to repay";
54
54
  "tds_purchase_processing"= "The order is being processed. Please wait";
55
55
  "tds_confirm_agreement"= "Accept";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "No es posible acceder al juego ahora";
43
43
  "tds_refund_login_restrict_sub_title"= "Complete el pago de todos los pedidos reembolsados para acceder al juego";
44
44
  "tds_refund_ios_pay_tip"= "Tiene pedidos de reembolso pendientes que no pueden ser resueltos en este sistema. Necesita entrar al juego usando el sistema iOS y hacer un pago";
45
- "tds_pay_success"= "Recarga efectuada";
46
- "tds_pay_fail"= "Recarga fallida";
47
- "tds_pay_cancel"="Recarga cancelada";
45
+ "tds_pay_success"= "Operación completada";
46
+ "tds_pay_fail"= "La operación falló";
47
+ "tds_pay_cancel"="Cancelado por el usuario";
48
48
  "tds_button_confirm"= "Confirmar";
49
49
  "tds_promotion_exchange_title"= "Obtener";
50
50
  "tds_promotion_exchange_desc"= "¿Ya tienes este artículo, deseas enviarlo a este personaje";
51
51
  "tds_refund_android_pay_tip"= "Tiene pedidos de reembolso pendientes que no pueden ser resueltos en este sistema. Necesita entrar al juego usando el sistema Android y hacer un pago";
52
- "tds_pay_net_fail"= "Error de red. Recarga fallida";
52
+ "tds_pay_net_fail"= "Error de red, inténtalo de nuevo más tarde";
53
53
  "tds_refund_net_fail"= "Error de red. Fallo al suplir pago";
54
54
  "tds_purchase_processing"= "Este pedido está siendo procesado, por favor espere";
55
55
  "tds_confirm_agreement"= "Está de acuerdo";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "Impossible d'accéder au jeu pour le moment";
43
43
  "tds_refund_login_restrict_sub_title"= "Effectuer le paiement de toutes les commandes remboursées pour accéder au jeu";
44
44
  "tds_refund_ios_pay_tip"= "Certaines de vos commandes remboursées ne peuvent pas être remboursées dans ce système. Veuillez vous connecter via un appareil iOS pour effectuer le paiement";
45
- "tds_pay_success"= "Rechargé";
46
- "tds_pay_fail"= "Échec de recharge";
47
- "tds_pay_cancel"="Recharge annulée";
45
+ "tds_pay_success"= "Opération terminée";
46
+ "tds_pay_fail"= "Échec de l’opération";
47
+ "tds_pay_cancel"="Annulé par l’utilisateur";
48
48
  "tds_button_confirm"= "Confirmer";
49
49
  "tds_promotion_exchange_title"= "Réclamer les produits";
50
50
  "tds_promotion_exchange_desc"= "Vous avez déjà le produit. L'attribuer au personnage actuel";
51
51
  "tds_refund_android_pay_tip"= "Certaines de vos commandes remboursées ne peuvent pas être remboursées dans ce système. Veuillez vous connecter via un appareil Android pour effectuer le paiement";
52
- "tds_pay_net_fail"= "Erreur de réseau. Échec de recharge";
52
+ "tds_pay_net_fail"= "Erreur réseau, veuillez réessayer plus tard";
53
53
  "tds_refund_net_fail"= "Erreur de réseau. Remboursement échoué";
54
54
  "tds_purchase_processing"= "La commande est en cours de traitement. Veuillez patienter";
55
55
  "tds_confirm_agreement"= "Accepter";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "Saat ini tidak bisa masuk ke dalam game";
43
43
  "tds_refund_login_restrict_sub_title"= "Setelah menyelesaikan semua transaksi refund, Anda baru dapat memasuki game";
44
44
  "tds_refund_ios_pay_tip"= "Pembayaran pesanan yang dikembalikan tidak bisa dikembalikan melalui sistem ini. Mohon login melalui perangkat iOS untuk menyelesaikan pembayaran";
45
- "tds_pay_success"= "Topup berhasil";
46
- "tds_pay_fail"= "Topup gagal";
47
- "tds_pay_cancel"="Topup sudah dibatalkan";
45
+ "tds_pay_success"= "Operasi selesai";
46
+ "tds_pay_fail"= "Operasi gagal";
47
+ "tds_pay_cancel"="Dibatalkan oleh pengguna";
48
48
  "tds_button_confirm"= "Konfirmasi";
49
49
  "tds_promotion_exchange_title"= "Ambil Item";
50
50
  "tds_promotion_exchange_desc"= "Kamu sudah memiliki item ini, berikan kepada karakter ini?";
51
51
  "tds_refund_android_pay_tip"= "Pembayaran pesanan yang dikembalikan tidak bisa dikembalikan melalui sistem ini. Mohon login melalui perangkat Android untuk menyelesaikan pembayaran";
52
- "tds_pay_net_fail"= "Jaringan tidak normal, topup gagal";
52
+ "tds_pay_net_fail"= "Kesalahan jaringan, silakan coba lagi nanti";
53
53
  "tds_refund_net_fail"= "Jaringan tidak normal, repay gagal";
54
54
  "tds_purchase_processing"= "Pesanan sedang diproses, mohon tunggu";
55
55
  "tds_confirm_agreement"= "Setuju";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "一時的にゲームにアクセスできません";
43
43
  "tds_refund_login_restrict_sub_title"= "ゲームにアクセスするためには、すべての返金における残額を決済する必要があります";
44
44
  "tds_refund_ios_pay_tip"= "払い戻し部分の支払いは本システム内で処理できません。iOSの端末でゲームをログインして購入の手続きをお願い致します";
45
- "tds_pay_success"= "チャージ成功しました";
46
- "tds_pay_fail"= "チャージに失敗しました";
47
- "tds_pay_cancel"="チャージをキャンセルしました";
45
+ "tds_pay_success"= "操作が完了しました";
46
+ "tds_pay_fail"= "操作に失敗しました";
47
+ "tds_pay_cancel"="ユーザーがキャンセルしました";
48
48
  "tds_button_confirm"= "確認";
49
49
  "tds_promotion_exchange_title"= "商品(アイテム)を受け取ります";
50
50
  "tds_promotion_exchange_desc"= "既にこの商品(アイテム)を持っていますので、このキャラに付与しますか";
51
51
  "tds_refund_android_pay_tip"= "払い戻し部分の支払いは本システム内で処理できません。Androidの端末でゲームをログインして購入の手続きをお願い致します";
52
- "tds_pay_net_fail"= "ネットワークエラーによりチャージに失敗しました";
52
+ "tds_pay_net_fail"= "ネットワークエラーです。しばらくしてから再試行してください";
53
53
  "tds_refund_net_fail"= "ネット枠エラーにより残額の決済に失敗しました";
54
54
  "tds_purchase_processing"= "購入処理を行っております。しばらくお待ちください";
55
55
  "tds_confirm_agreement"= "同意する";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "일시적으로 게임에 접속할 수 없습니다";
43
43
  "tds_refund_login_restrict_sub_title"= "임의 환불로 인한 차액이 결제되어야 게임에 접속할 수 있습니다";
44
44
  "tds_refund_ios_pay_tip"= "고객님의 환불 복구 프로세스를 현 환경에서 진행할 수 없습니다. iOS 시스템상에서 게임 로그인 후 다시 시도해주세요";
45
- "tds_pay_success"= "결제 성공";
46
- "tds_pay_fail"= "충전 실패";
47
- "tds_pay_cancel"="결제를 취소했습니다";
45
+ "tds_pay_success"= "작업이 완료되었습니다";
46
+ "tds_pay_fail"= "작업이 실패했습니다";
47
+ "tds_pay_cancel"="사용자가 취소했습니다";
48
48
  "tds_button_confirm"= "확인";
49
49
  "tds_promotion_exchange_title"= "상품 수령";
50
50
  "tds_promotion_exchange_desc"= "해당 상품을 이전에 기구입하신 상태입니다. 현재 캐릭터에게 기존 구입상품을 우선 지급하시겠습니까";
51
51
  "tds_refund_android_pay_tip"= "고객님의 환불 복구 프로세스를 현 환경에서 진행할 수 없습니다. Android 시스템상에서 게임 로그인 후 다시 시도해주세요";
52
- "tds_pay_net_fail"= "네트워크 오류, 충전 실패";
52
+ "tds_pay_net_fail"= "네트워크 오류입니다. 잠시 후 다시 시도하세요";
53
53
  "tds_refund_net_fail"= "네트워크 오류, 환불 차액 결제 실패";
54
54
  "tds_purchase_processing"= "이 주문건은 처리 중에 있습니다. 잠시만 기다려 주세요";
55
55
  "tds_confirm_agreement"= "동의";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "Temporariamente Indisponível";
43
43
  "tds_refund_login_restrict_sub_title"= "Depois de repôr todos os pedidos de reembolso, você pode entrar no jogo";
44
44
  "tds_refund_ios_pay_tip"= "Você tem pedidos de reembolso restantes que não podem ser reembolsados ​​neste sistema. É necessário fazer login no jogo através do sistema iOS para que o dinheiro seja reposto.";
45
- "tds_pay_success"= "Recarregada com sucesso";
46
- "tds_pay_fail"= "Falha na recarga";
47
- "tds_pay_cancel"="Recarga cancelada";
45
+ "tds_pay_success"= "Operação concluída";
46
+ "tds_pay_fail"= "A operação falhou";
47
+ "tds_pay_cancel"="Cancelado pelo usuário";
48
48
  "tds_button_confirm"= "Confirmar";
49
49
  "tds_promotion_exchange_title"= "Recolher bens";
50
50
  "tds_promotion_exchange_desc"= "Você já possui o produto - ele foi enviado para este personagem";
51
51
  "tds_refund_android_pay_tip"= "Você tem pedidos de reembolso restantes que não podem ser reembolsados ​​neste sistema. É necessário fazer login no jogo através do sistema Android para que o dinheiro seja reposto";
52
- "tds_pay_net_fail"= "Anormalidade na rede, falha durante a recarga";
52
+ "tds_pay_net_fail"= "Erro de rede, tente novamente mais tarde";
53
53
  "tds_refund_net_fail"= "A rede está anormal, reposição falhou";
54
54
  "tds_purchase_processing"= "O pedido está sendo processado. Por favor, aguarde";
55
55
  "tds_confirm_agreement"= "Concordar";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "В данный момент невозможно войти в игре";
43
43
  "tds_refund_login_restrict_sub_title"= "Завершите операции оплаты для всех возвращенных покупок, чтобы получить доступ к игре";
44
44
  "tds_refund_ios_pay_tip"= "Некоторые из ваших возвращенных покупок невозможно оплатить в данной системе. Зайдите в систему, используя устройство на системе iOS, чтобы завершить оплату";
45
- "tds_pay_success"= "Пополнено";
46
- "tds_pay_fail"= "Ошибка пополнения";
47
- "tds_pay_cancel"="Пополнение отменено";
45
+ "tds_pay_success"= "Операция выполнена";
46
+ "tds_pay_fail"= "Ошибка операции";
47
+ "tds_pay_cancel"="Отменено пользователем";
48
48
  "tds_button_confirm"= "Подтвердить";
49
49
  "tds_promotion_exchange_title"= "Забрать предметы";
50
50
  "tds_promotion_exchange_desc"= "У вас уже имеется данный предмет. Выдать его текущему персонажу";
51
51
  "tds_refund_android_pay_tip"= "Некоторые из ваших возвращенных покупок невозможно оплатить в данной системе. Зайдите в систему, используя устройство на системе Android, чтобы завершить оплату";
52
- "tds_pay_net_fail"= "Ошибка сети. Ошибка пополнения";
52
+ "tds_pay_net_fail"= "Ошибка сети. Повторите попытку позже";
53
53
  "tds_refund_net_fail"= "Ошибка сети. Не удалось оплатить";
54
54
  "tds_purchase_processing"= "Заказ обрабатывается. Подождите";
55
55
  "tds_confirm_agreement"= "Согласен";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "ไม่สามารถเข้าเกมได้ชั่วคราว";
43
43
  "tds_refund_login_restrict_sub_title"= "หลังจากชำระเงินเพิ่มเติมครบถ้วนแล้วจึงสามารถเข้าเกมได้";
44
44
  "tds_refund_ios_pay_tip"= "คำสั่งซื้อที่ขอเงินคืนบางรายการไม่สามารถชำระคืนได้ในระบบนี้ กรุณาเข้าสู่ระบบผ่านอุปกรณ์ iOS เพื่อทำการชำระเงิน";
45
- "tds_pay_success"= "เติมเงินสำเร็จ";
46
- "tds_pay_fail"= "การเติมเงินล้มเหลว";
47
- "tds_pay_cancel"="ได้ยกเลิกการเติมเงินแล้ว";
45
+ "tds_pay_success"= "ดำเนินการเสร็จสิ้น";
46
+ "tds_pay_fail"= "ดำเนินการล้มเหลว";
47
+ "tds_pay_cancel"="ผู้ใช้ยกเลิก";
48
48
  "tds_button_confirm"= "ยืนยัน";
49
49
  "tds_promotion_exchange_title"= "รับไอเทม";
50
50
  "tds_promotion_exchange_desc"= "คุณมีไอเทมชิ้นนี้อยู่แล้ว กรุณายืนยันว่าจะส่งไอเทมชิ้นเดิมให้กับตัวละครปัจจุบัน";
51
51
  "tds_refund_android_pay_tip"= "คำสั่งซื้อที่ขอเงินคืนบางรายการไม่สามารถชำระคืนได้ในระบบนี้ กรุณาเข้าสู่ระบบผ่านอุปกรณ์แอนดรอยด์เพื่อทำการชำระเงิน";
52
- "tds_pay_net_fail"= "การเชื่อมต่อผิดพลาด การเติมเงินล้มเหลว";
52
+ "tds_pay_net_fail"= "เครือข่ายผิดพลาด โปรดลองอีกครั้งในภายหลัง";
53
53
  "tds_refund_net_fail"= "การเชื่อมต่อผิดพลาด ชำระเงินเพิ่มเติมล้มเหลว";
54
54
  "tds_purchase_processing"= "กรุณารอสักครู่ ระหว่างระบบกำลังดำเนินการ";
55
55
  "tds_confirm_agreement"= "ยอมรับ";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "Şuanda oyuna erişim yok.";
43
43
  "tds_refund_login_restrict_sub_title"= "Tüm iadelerin ödemesini yaparak oyuna giriş yapabilirsiniz";
44
44
  "tds_refund_ios_pay_tip"= "İade edilen bazı siparişleriniz sistemde tekrar ödenemiyor. Lütfen IOS cihaz üzerinden giriş yaparak ödemeyi tamamlayınız";
45
- "tds_pay_success"= "Yükleme başarılı";
46
- "tds_pay_fail"= "Yükleme başarısız";
47
- "tds_pay_cancel"="Yükleme iptal edildi";
45
+ "tds_pay_success"= "İşlem tamamlandı";
46
+ "tds_pay_fail"= "İşlem başarısız oldu";
47
+ "tds_pay_cancel"="Kullanıcı tarafından iptal edildi";
48
48
  "tds_button_confirm"= "Onayla";
49
49
  "tds_promotion_exchange_title"= "Ürünü al";
50
50
  "tds_promotion_exchange_desc"= "Ürün zaten mevcut. Mevcut karaktere eklensin mi";
51
51
  "tds_refund_android_pay_tip"= "İade edilen bazı siparişleriniz sistemde tekrar ödenemiyor. Lütfen Android cihaz üzerinden giriş yaparak ödemeyi tamamlayınız";
52
- "tds_pay_net_fail"= "Bağlantı hatası, Yükleme başarısız";
52
+ "tds_pay_net_fail"= " hatası, lütfen daha sonra tekrar deneyin";
53
53
  "tds_refund_net_fail"= "Bağlantı hatası. Geri Ödeme başarısız";
54
54
  "tds_purchase_processing"= "Sipariş işleniyor. Lütfen bekleyin";
55
55
  "tds_confirm_agreement"= "kabul etmiyorum";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "Tạm thời không thể vào trò chơi";
43
43
  "tds_refund_login_restrict_sub_title"= "Vui lòng thanh toán bổ sung tất cả các khoản hoàn tiền để vào trò chơi";
44
44
  "tds_refund_ios_pay_tip"= "Bạn còn khoản hoàn tiền, không thể thanh toán bổ sung trong hệ thống này. Vui lòng đăng nhập vào trò chơi bằng hệ thống iOS để thực hiện thanh toán.";
45
- "tds_pay_success"= "Nạp thành công";
46
- "tds_pay_fail"= "Nạp thất bại";
47
- "tds_pay_cancel"="Đã hủy nạp";
45
+ "tds_pay_success"= "Thao tác hoàn thành";
46
+ "tds_pay_fail"= "Thao tác thất bại";
47
+ "tds_pay_cancel"="Người dùng đã hủy";
48
48
  "tds_button_confirm"= "Xác nhận";
49
49
  "tds_promotion_exchange_title"= "Nhận hàng";
50
50
  "tds_promotion_exchange_desc"= "Bạn đã có mặt hàng này, xác nhận dùng cho nhân vật này?";
51
51
  "tds_refund_android_pay_tip"= "Bạn còn khoản hoàn tiền, không thể thanh toán bổ sung trong hệ thống này. Vui lòng đăng nhập vào trò chơi bằng hệ thống Android để thực hiện thanh toán.";
52
- "tds_pay_net_fail"= "Lỗi mạng, nạp thất bại";
52
+ "tds_pay_net_fail"= "Lỗi mạng, vui lòng thử lại sau";
53
53
  "tds_refund_net_fail"= "Lỗi mạng, bổ sung thất bại";
54
54
  "tds_purchase_processing"= "Đơn hàng đang được xử lý, vui lòng đợi";
55
55
  "tds_confirm_agreement"= "Đồng ý";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title" = "暂时无法进入游戏";
43
43
  "tds_refund_login_restrict_sub_title" = "将所有退款订单补款完成后即可进入游戏";
44
44
  "tds_refund_ios_pay_tip" = "您有剩余退款订单无法在此系统进行补款,需要使用iOS系统登录游戏后进行补款";
45
- "tds_pay_success" = "充值成功";
46
- "tds_pay_fail" = "充值失败";
47
- "tds_pay_cancel" = "已取消充值";
45
+ "tds_pay_success" = "操作完成";
46
+ "tds_pay_fail" = "操作失败";
47
+ "tds_pay_cancel" = "用户已取消";
48
48
  "tds_button_confirm" = "确认";
49
49
  "tds_promotion_exchange_title" = "领取商品";
50
50
  "tds_promotion_exchange_desc" = "你已经拥有该商品 ,是否发放给本角色";
51
51
  "tds_refund_android_pay_tip" = "您有剩余退款订单无法在此系统进行补款,需要使用Android系统登录游戏后进行补款";
52
- "tds_pay_net_fail" = "网络异常,充值失败";
52
+ "tds_pay_net_fail" = "网络异常,请稍后重试";
53
53
  "tds_refund_net_fail" = "网络异常,补款失败";
54
54
  "tds_purchase_processing" = "该订单正在处理中,请稍后";
55
55
  "tds_confirm_agreement" = "同意";
@@ -42,14 +42,14 @@
42
42
  "tds_refund_login_restrict_title"= "暫時無法進入遊戲";
43
43
  "tds_refund_login_restrict_sub_title"= "將所有退款訂單補款完成後即可進入遊戲";
44
44
  "tds_refund_ios_pay_tip"= "您有剩餘退款訂單無法在此系統進行補款,需要使用iOS系統登錄遊戲後進行補款";
45
- "tds_pay_success"= "儲值成功";
46
- "tds_pay_fail"= "儲值失敗";
47
- "tds_pay_cancel"="已取消儲值";
45
+ "tds_pay_success"= "操作完成";
46
+ "tds_pay_fail"= "操作失敗";
47
+ "tds_pay_cancel"="使用者已取消";
48
48
  "tds_button_confirm"= "確認";
49
49
  "tds_promotion_exchange_title"= "領取商品";
50
50
  "tds_promotion_exchange_desc"= "你已經擁有該商品 ,是否發放給本角色";
51
51
  "tds_refund_android_pay_tip"= "您有剩餘退款訂單無法在此系統進行補款,需要使用Android系統登錄遊戲後進行補款";
52
- "tds_pay_net_fail"= "網路異常,儲值失敗";
52
+ "tds_pay_net_fail"= "網路異常,請稍後重試";
53
53
  "tds_refund_net_fail"= "網路異常,補款失敗";
54
54
  "tds_purchase_processing"= "該訂單正在處理中,請稍後";
55
55
  "tds_confirm_agreement"= "同意";
@@ -0,0 +1,54 @@
1
+ //
2
+ // XDGTapTapAchievementCallback.h
3
+ // XDTapSDK4WrapperSDK
4
+ //
5
+ // Created by Fattycat on 2025/12/3.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ NS_ASSUME_NONNULL_BEGIN
11
+
12
+ /// 成就类型枚举
13
+ typedef NS_ENUM(NSInteger, XDGTapTapAchievementType) {
14
+ XDGTapTapAchievementTypeNORMAL = 0, // 普通成就
15
+ XDGTapTapAchievementTypePLATINUM = 1, // 白金成就
16
+ };
17
+
18
+ /// 成就结果
19
+ @interface XDGTapTapAchievementResult : NSObject
20
+
21
+ /// 成就 ID
22
+ @property (nonatomic, copy) NSString *achievementId;
23
+
24
+ /// 成就名称
25
+ @property (nonatomic, copy) NSString *achievementName;
26
+
27
+ /// 成就类型
28
+ @property (nonatomic, assign) XDGTapTapAchievementType achievementType;
29
+
30
+ /// 当前步数
31
+ @property (nonatomic, assign) int64_t currentSteps;
32
+
33
+ @end
34
+
35
+ /// 成就回调协议
36
+ /// 重新声明以避免直接暴露静态库 TapTapAchievementSDK 中的协议
37
+ @protocol XDGTapTapAchievementCallback <NSObject>
38
+
39
+ @required
40
+
41
+ /// 成就操作成功回调
42
+ /// @param code 回调码
43
+ /// @param result 成就结果
44
+ - (void)onAchievementSuccessWithCode:(NSInteger)code result:(XDGTapTapAchievementResult *)result;
45
+
46
+ /// 成就操作失败回调
47
+ /// @param achievementId 成就 ID
48
+ /// @param errorCode 错误码
49
+ /// @param errorMsg 错误信息
50
+ - (void)onAchievementFailureWithAchievementId:(NSString *)achievementId errorCode:(NSInteger)errorCode errorMsg:(NSString *)errorMsg;
51
+
52
+ @end
53
+
54
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,49 @@
1
+ //
2
+ // XDGTapTapAchievementWrapper.h
3
+ // XDTapSDK4WrapperSDK
4
+ //
5
+ // Created by Fattycat on 2025/12/3.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import <XDTapSDK4WrapperSDK/XDGTapTapAchievementCallback.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ /// TapTap 成就系统封装类
14
+ /// 对外提供独立的协议定义,避免直接暴露静态库 TapTapAchievementSDK 中的协议
15
+ @interface XDGTapTapAchievementWrapper : NSObject
16
+
17
+ + (instancetype)new NS_UNAVAILABLE;
18
+
19
+ - (instancetype)init NS_UNAVAILABLE;
20
+
21
+ /// 上报分步成就增长步数
22
+ /// @param achievementId 成就 ID
23
+ /// @param steps 增长的步数
24
+ ///
25
+ + (void)incrementWithAchievementId:(NSString * _Nonnull)achievementId steps:(NSInteger)steps;
26
+
27
+ /// 上报解锁成就
28
+ /// @param achievementId 成就 ID
29
+ ///
30
+ + (void)unlockWithAchievementId:(NSString * _Nonnull)achievementId;
31
+
32
+ /// 注册成就回调
33
+ /// @param callback 成就回调实例
34
+ + (void)registerCallbackWithCallback:(id <XDGTapTapAchievementCallback> _Nonnull)callback;
35
+
36
+ /// 移除成就回调
37
+ /// @param callback 成就回调实例
38
+ + (void)unregisterCallbackWithCallback:(id <XDGTapTapAchievementCallback> _Nonnull)callback;
39
+
40
+ /// 设置是否展示达成成就气泡弹窗
41
+ /// @param enable 是否展示
42
+ + (void)setToastEnableWithEnable:(BOOL)enable;
43
+
44
+ /// 显示成就页,已安装则跳转 taptap 主站,未安装跳转 web
45
+ + (void)showAchievements;
46
+
47
+ @end
48
+
49
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,90 @@
1
+ //
2
+ // XDGTapTapCloudSaveCallback.h
3
+ // XDTapSDK4WrapperSDK
4
+ //
5
+ // Created by Fattycat on 2025/12/3.
6
+ //
7
+
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ /// 存档数据模型
14
+ @interface XDGArchiveData : NSObject
15
+
16
+ @property (nonatomic, copy) NSString *uuid;
17
+ @property (nonatomic, copy) NSString *name;
18
+ @property (nonatomic, copy) NSString *summary;
19
+ @property (nonatomic, copy) NSString *extra;
20
+ @property (nonatomic, assign) int64_t playtime;
21
+ @property (nonatomic, assign) int64_t saveSize;
22
+ @property (nonatomic, assign) int64_t coverSize;
23
+ @property (nonatomic, copy) NSString *fileId;
24
+ @property (nonatomic, assign) int64_t createdTime;
25
+ @property (nonatomic, assign) int64_t modifiedTime;
26
+
27
+ @end
28
+
29
+ /// 存档元数据
30
+ @interface XDGArchiveMetadata : NSObject
31
+
32
+ @property (nonatomic, copy) NSString *name;
33
+ @property (nonatomic, copy) NSString *summary;
34
+ @property (nonatomic, copy) NSString *extra;
35
+ @property (nonatomic, assign) int64_t playtime;
36
+
37
+ @end
38
+
39
+ /// 云存档状态回调协议
40
+ @protocol XDGTapTapCloudSaveCallback <NSObject>
41
+
42
+ @required
43
+
44
+ /// CloudSave 结果通知
45
+ /// @param resultCode 结果代码
46
+ - (void)onResult:(NSInteger)resultCode;
47
+
48
+ @end
49
+
50
+ /// 云存档请求回调协议
51
+ @protocol XDGTapTapCloudSaveRequestCallback <NSObject>
52
+
53
+ @required
54
+
55
+ /// 存档创建成功
56
+ /// @param archive 存档数据
57
+ - (void)onArchiveCreatedWithArchive:(XDGArchiveData *)archive;
58
+
59
+ /// 存档更新成功
60
+ /// @param archive 存档数据
61
+ - (void)onArchiveUpdatedWithArchive:(XDGArchiveData *)archive;
62
+
63
+ /// 存档删除成功
64
+ /// @param archive 存档数据
65
+ - (void)onArchiveDeletedWithArchive:(XDGArchiveData *)archive;
66
+
67
+ /// 存档列表结果
68
+ /// @param archives 存档列表
69
+ - (void)onArchiveListResultWithArchives:(NSArray<XDGArchiveData *> *)archives;
70
+
71
+ /// 存档数据结果
72
+ /// @param archiveUUID 存档 UUID
73
+ /// @param archiveFileID 存档文件 ID
74
+ /// @param data 数据
75
+ - (void)onArchiveDataResultWithArchiveUUID:(NSString *)archiveUUID archiveFileID:(NSString *)archiveFileID data:(NSData *)data;
76
+
77
+ /// 存档封面结果
78
+ /// @param archiveUUID 存档 UUID
79
+ /// @param archiveFileID 存档文件 ID
80
+ /// @param coverData 封面数据
81
+ - (void)onArchiveCoverResultWithArchiveUUID:(NSString *)archiveUUID archiveFileID:(NSString *)archiveFileID coverData:(NSData *)coverData;
82
+
83
+ /// 请求错误
84
+ /// @param errorCode 错误码
85
+ /// @param errorMessage 错误信息
86
+ - (void)onRequestErrorWithErrorCode:(NSInteger)errorCode errorMessage:(NSString *)errorMessage;
87
+
88
+ @end
89
+
90
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,74 @@
1
+ //
2
+ // XDGTapTapCloudSaveWrapper.h
3
+ // XDTapSDK4WrapperSDK
4
+ //
5
+ // Created by Fattycat on 2025/12/3.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import <XDTapSDK4WrapperSDK/XDGTapTapCloudSaveCallback.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ /// TapTap 云存档封装类
14
+ @interface XDGTapTapCloudSaveWrapper : NSObject
15
+
16
+ /// 注册 CloudSave 回调
17
+ /// @param callback 回调对象
18
+ + (void)registerCloudSaveCallback:(id <XDGTapTapCloudSaveCallback> _Nonnull)callback;
19
+
20
+ /// 取消注册 CloudSave 回调
21
+ /// @param callback 回调对象
22
+ + (void)unregisterCloudSaveCallback:(id <XDGTapTapCloudSaveCallback> _Nonnull)callback;
23
+
24
+ /// 创建存档
25
+ /// @param archiveMetadata 存档元数据
26
+ /// @param archiveFilePath 存档文件路径
27
+ /// @param archiveCoverPath 存档封面路径
28
+ /// @param callback 回调
29
+ + (void)createArchiveWithArchiveMetadata:(XDGArchiveMetadata * _Nonnull)archiveMetadata
30
+ archiveFilePath:(NSString * _Nonnull)archiveFilePath
31
+ archiveCoverPath:(NSString * _Nullable)archiveCoverPath
32
+ callback:(id <XDGTapTapCloudSaveRequestCallback> _Nonnull)callback;
33
+
34
+ /// 更新存档
35
+ /// @param archiveUUID 存档 UUID
36
+ /// @param archiveMetadata 存档元数据
37
+ /// @param archiveFilePath 存档文件路径
38
+ /// @param archiveCoverPath 存档封面路径
39
+ /// @param callback 回调
40
+ + (void)updateArchiveWithArchiveUUID:(NSString * _Nonnull)archiveUUID
41
+ archiveMetadata:(XDGArchiveMetadata * _Nonnull)archiveMetadata
42
+ archiveFilePath:(NSString * _Nonnull)archiveFilePath
43
+ archiveCoverPath:(NSString * _Nullable)archiveCoverPath
44
+ callback:(id <XDGTapTapCloudSaveRequestCallback> _Nonnull)callback;
45
+
46
+ /// 删除存档
47
+ /// @param archiveUUID 存档 UUID
48
+ /// @param callback 回调
49
+ + (void)deleteArchiveWithArchiveUUID:(NSString * _Nonnull)archiveUUID
50
+ callback:(id <XDGTapTapCloudSaveRequestCallback> _Nonnull)callback;
51
+
52
+ /// 获取存档列表
53
+ /// @param callback 回调
54
+ + (void)getArchiveListWithCallback:(id <XDGTapTapCloudSaveRequestCallback> _Nonnull)callback;
55
+
56
+ /// 获取存档数据
57
+ /// @param archiveUUID 存档 UUID
58
+ /// @param archiveFileID 存档文件 ID
59
+ /// @param callback 回调
60
+ + (void)getArchiveDataWithArchiveUUID:(NSString * _Nonnull)archiveUUID
61
+ archiveFileID:(NSString * _Nonnull)archiveFileID
62
+ callback:(id <XDGTapTapCloudSaveRequestCallback> _Nonnull)callback;
63
+
64
+ /// 获取存档封面
65
+ /// @param archiveUUID 存档 UUID
66
+ /// @param archiveFileID 存档文件 ID
67
+ /// @param callback 回调
68
+ + (void)getArchiveCoverWithArchiveUUID:(NSString * _Nonnull)archiveUUID
69
+ archiveFileID:(NSString * _Nonnull)archiveFileID
70
+ callback:(id <XDGTapTapCloudSaveRequestCallback> _Nonnull)callback;
71
+
72
+ @end
73
+
74
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,77 @@
1
+ //
2
+ // XDGTapTapMomentDelegate.h
3
+ // XDTapSDK4WrapperSDK
4
+ //
5
+ // Created by Fattycat on 2025/12/3.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ NS_ASSUME_NONNULL_BEGIN
11
+
12
+ /// TapTap 动态回调代理
13
+ @protocol XDGTapTapMomentDelegate <NSObject>
14
+
15
+ @optional
16
+
17
+ /// 动态回调
18
+ /// @param code 回调码
19
+ /// @param msg 回调消息
20
+ - (void)onMomentCallbackWithCode:(NSInteger)code msg:(NSString * _Nullable)msg;
21
+
22
+ @end
23
+
24
+ /// TapTap 动态发布数据基类
25
+ @interface XDGTapTapMomentPostData : NSObject
26
+
27
+ @end
28
+
29
+ /// TapTap 动态视频数据
30
+ @interface XDGTapTapMomentVideoData : XDGTapTapMomentPostData
31
+
32
+ /**
33
+ @brief 图片本地路径(可选)
34
+ @warning 数组最多可存一个,超出部分截选第一个
35
+ */
36
+ @property (nonatomic, copy, nullable) NSArray<NSString *> *images;
37
+
38
+ /**
39
+ @brief 视频本地路径(可选)
40
+ @warning 数组最多可存一个,超出部分截选第一个
41
+ */
42
+ @property (nonatomic, copy, nullable) NSArray<NSString *> *videos;
43
+
44
+ /**
45
+ @brief 标题(可选)
46
+ @warning 文字长度限制为40,超过40取前40
47
+ */
48
+ @property (nonatomic, copy, nullable) NSString *title;
49
+
50
+ /**
51
+ @brief 文字内容(可选)
52
+ @warning 文字长度限制为40,超过40取前40
53
+ */
54
+ @property (nonatomic, copy, nullable) NSString *content;
55
+
56
+ @end
57
+
58
+ /// TapTap 动态图片数据
59
+ @interface XDGTapTapMomentImageData : XDGTapTapMomentPostData
60
+
61
+ /**
62
+ @brief 图片本地路径(可选)
63
+ @warning 数组最多可存一个,超出部分截选第一个
64
+ */
65
+ @property (nonatomic, copy, nullable) NSArray<NSString *> *images;
66
+
67
+ /**
68
+ @brief 文字内容(可选)
69
+ @warning 文字长度限制为1200,超过1200取前1200
70
+ */
71
+ @property (nonatomic, copy, nullable) NSString *content;
72
+
73
+ @end
74
+
75
+
76
+
77
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,64 @@
1
+ //
2
+ // XDGTapTapMomentWrapper.h
3
+ // XDTapSDK4WrapperSDK
4
+ //
5
+ // Created by Fattycat on 2025/12/3.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import <XDTapSDK4WrapperSDK/XDGTapTapMomentDelegate.h>
10
+
11
+ NS_ASSUME_NONNULL_BEGIN
12
+
13
+ /// TapTap 动态封装类
14
+ @interface XDGTapTapMomentWrapper : NSObject
15
+
16
+ + (instancetype)new NS_UNAVAILABLE;
17
+
18
+ - (instancetype)init NS_UNAVAILABLE;
19
+
20
+ /// 设置代理
21
+ /// @param delegate 代理
22
+ + (void)setDelegate:(id <XDGTapTapMomentDelegate>)delegate;
23
+
24
+ /// 打开动态
25
+ + (void)open;
26
+
27
+ /// 打开指定场景的动态
28
+ /// @param sceneId 场景 ID
29
+ + (void)openScene:(NSString *)sceneId;
30
+
31
+ /// 发布动态
32
+ /// @param content 发布的动态内容
33
+ /// @warning `content`参数:动态内容为视频请选择`XDGTapTapMomentVideoData`, 动态内容为图片时请选择 `XDGTapTapMomentImageData`。
34
+ + (void)publish:(XDGTapTapMomentPostData *_Nonnull)content;
35
+
36
+ /// 关闭所有内嵌窗口
37
+ /// @param title 弹窗标题
38
+ /// @param content 弹窗内容
39
+ /// @param showConfirm 是否显示确认弹窗
40
+ /// @warning 传空或者空串不弹框
41
+ + (void)closeWithTitle:(NSString *)title
42
+ content:(NSString *)content
43
+ showConfirm:(BOOL)showConfirm;
44
+
45
+ /// 直接关闭所有内嵌窗口
46
+ /// @warning 该方法不弹二次确认窗口
47
+ + (void)close;
48
+
49
+ /// 获取新动态数量
50
+ /// @warning 结果在 `Delegate` 下的 `onMomentCallbackWithCode:msg:`, code == TM_RESULT_CODE_NEW_MSG_SUCCEED时,`msg` 即为消息数量
51
+ + (void)fetchNotification;
52
+
53
+ /// 获取SDK版本名
54
+ + (NSString *)getSdkVersion;
55
+
56
+ /// 获取SDK版本号
57
+ + (NSString *)getSdkVersionCode;
58
+
59
+ /// 项目自己的Controller 需要设置 DeferSystemGestures配置
60
+ + (void)needDeferSystemGestures;
61
+
62
+ @end
63
+
64
+ NS_ASSUME_NONNULL_END
@@ -15,6 +15,19 @@ FOUNDATION_EXPORT const unsigned char XDTapSDK4WrapperSDKVersionString[];
15
15
 
16
16
  // In this header, you should import all the public headers of your framework using statements like #import <XDTapSDK4WrapperSDK/PublicHeader.h>
17
17
 
18
- #define XDGTapSDK4_VERSION @"7.2.0"
19
- #define XDGTapSDK4_VERSION_CODE @"7020000"
20
- // HASH 8d15387e
18
+ #define XDGTapSDK4_VERSION @"7.3.0"
19
+ #define XDGTapSDK4_VERSION_CODE @"7030000"
20
+ // HASH e0ae45d9
21
+
22
+ // 对外导出的协议和封装类
23
+ // Achievement
24
+ #import <XDTapSDK4WrapperSDK/XDGTapTapAchievementCallback.h>
25
+ #import <XDTapSDK4WrapperSDK/XDGTapTapAchievementWrapper.h>
26
+
27
+ // CloudSave
28
+ #import <XDTapSDK4WrapperSDK/XDGTapTapCloudSaveCallback.h>
29
+ #import <XDTapSDK4WrapperSDK/XDGTapTapCloudSaveWrapper.h>
30
+
31
+ // Moment
32
+ #import <XDTapSDK4WrapperSDK/XDGTapTapMomentDelegate.h>
33
+ #import <XDTapSDK4WrapperSDK/XDGTapTapMomentWrapper.h>
@@ -1,5 +1,7 @@
1
1
  #if UNITY_EDITOR || UNITY_STANDALONE
2
+ #if !XDSDK_DISABLE_VUPLEX
2
3
  using Vuplex.WebView;
4
+ #endif
3
5
  using XD.SDK.Common.Internal.Standalone;
4
6
  #endif
5
7
  namespace XD.SDK.Common.Internal
@@ -7,7 +9,9 @@ namespace XD.SDK.Common.Internal
7
9
  public interface IBridgeWebView
8
10
  {
9
11
  #if UNITY_EDITOR || UNITY_STANDALONE
12
+ #if !XDSDK_DISABLE_VUPLEX
10
13
  IWebView ProviderWebView();
14
+ #endif
11
15
 
12
16
  IWebTransmit ProviderWebTrans();
13
17
 
@@ -16,5 +16,7 @@ namespace XD.SDK.Common.Internal
16
16
  void PreloadWebPage(string url);
17
17
 
18
18
  void OpenWebPage(string url, Action<WebActionEnum, Dictionary<string, object>> callback);
19
+
20
+ bool IsSteamInitialized();
19
21
  }
20
22
  }
@@ -229,6 +229,11 @@ namespace XD.SDK.Common.Internal.Mobile
229
229
  });
230
230
  }
231
231
 
232
+ public bool IsSteamInitialized()
233
+ {
234
+ return false;
235
+ }
236
+
232
237
  public void TrackUser(string userId)
233
238
  {
234
239
  // 不需要实现
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
  using System;
3
3
  using System.Collections.Generic;
4
4
  using System.Linq;
@@ -5,7 +5,9 @@ using System.Linq;
5
5
  using System.Threading.Tasks;
6
6
  using Newtonsoft.Json;
7
7
  using UnityEngine;
8
+ #if !XDSDK_DISABLE_VUPLEX
8
9
  using Vuplex.WebView;
10
+ #endif
9
11
  using XD.SDK.Common.Internal.Events;
10
12
 
11
13
  namespace XD.SDK.Common.Internal.Standalone
@@ -90,12 +92,21 @@ namespace XD.SDK.Common.Internal.Standalone
90
92
 
91
93
  public void PreloadWebPage(string url)
92
94
  {
95
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
93
96
  WebRequest.Preload(url);
97
+ #endif
94
98
  }
95
99
 
96
100
  public void OpenWebPage(string url, Action<WebActionEnum, Dictionary<string, object>> callback)
97
101
  {
102
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
98
103
  WebRequest.OpenWebPage(url, callback);
104
+ #endif
105
+ }
106
+
107
+ public bool IsSteamInitialized()
108
+ {
109
+ return SteamWrapper.Initialized();
99
110
  }
100
111
 
101
112
  public void DisableAgreementUI()
@@ -232,6 +243,7 @@ namespace XD.SDK.Common.Internal.Standalone
232
243
 
233
244
  private static void InitWebView()
234
245
  {
246
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
235
247
  var region = ConfigModule.IsGlobal ? "global" : "cn";
236
248
  try
237
249
  {
@@ -246,6 +258,7 @@ namespace XD.SDK.Common.Internal.Standalone
246
258
  {
247
259
  WebRequest.Preload(ConfigModule.IsGlobal ? "https://poster.xd.com/r/versions.html" : "https://poster.xd.cn/r/versions.html");
248
260
  }
261
+ #endif
249
262
  }
250
263
  }
251
264
  }
@@ -212,6 +212,7 @@ class SteamManager : MonoBehaviour {
212
212
  }
213
213
 
214
214
  var fromCmd = GetCommandArgument("from");
215
+ XDGLogger.Log(XDGLogLevel.Debug, XDGLoggerTag.Common, $"[Steamworks.NET] Command line from={fromCmd}", true);
215
216
  if (!string.IsNullOrEmpty(fromCmd) && string.Equals(fromCmd, "steam", StringComparison.OrdinalIgnoreCase))
216
217
  {
217
218
  _startFromSteam = true;
@@ -266,6 +267,7 @@ class SteamManager : MonoBehaviour {
266
267
  private static string GetCommandArgument(string name)
267
268
  {
268
269
  var args = System.Environment.GetCommandLineArgs();
270
+ XDGLogger.Log(XDGLogLevel.Debug, XDGLoggerTag.Common, $"[Steamworks.NET] Command line args: {string.Join(" ", args)}", true);
269
271
  foreach (string arg in args)
270
272
  {
271
273
  var sepIndex = arg.IndexOf('=');
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
  using System;
3
3
  using UnityEngine;
4
4
  using UnityEngine.UI;
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
 
3
3
  using System;
4
4
  using System.Collections;
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
  using System;
3
3
  using System.Collections.Generic;
4
4
  using Newtonsoft.Json;
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
 
3
3
  using System;
4
4
  using System.Collections.Generic;
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
 
3
3
  using System.Collections.Generic;
4
4
 
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
  using System;
3
3
  using System.Collections.Generic;
4
4
  using System.Linq;
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
 
3
3
  using System;
4
4
  using System.Collections.Generic;
@@ -1,4 +1,4 @@
1
- #if UNITY_EDITOR || UNITY_STANDALONE
1
+ #if (UNITY_EDITOR || UNITY_STANDALONE) && !XDSDK_DISABLE_VUPLEX
2
2
  using System;
3
3
  using System.Collections;
4
4
  using System.Collections.Generic;
@@ -96,6 +96,11 @@ namespace XD.SDK.Common.Internal
96
96
  {
97
97
  platformWrapper.SetTargetCountryOrRegion(region);
98
98
  }
99
+
100
+ public static bool IsSteamInitialized()
101
+ {
102
+ return platformWrapper.IsSteamInitialized();
103
+ }
99
104
 
100
105
  #endregion
101
106
  }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "com.xd.sdk.common",
3
3
  "displayName": "XDGSDK Common",
4
- "version": "7.2.1-alpha",
4
+ "version": "7.2.1-alpha.3",
5
5
  "description": "XDGSDK",
6
6
  "unity": "2019.3",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "com.xd.sdk.foundation": "7.2.1-alpha"
9
+ "com.xd.sdk.foundation": "7.2.1-alpha.3"
10
10
  }
11
11
  }