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.
- package/Plugins/iOS/XDCommonSDK.framework/Headers/NSError+XDG.h +15 -14
- package/Plugins/iOS/XDCommonSDK.framework/Headers/XDCommonSDK-Swift.h +2 -19
- package/Plugins/iOS/XDCommonSDK.framework/Headers/XDGConfig.h +4 -2
- package/Plugins/iOS/XDCommonSDK.framework/Headers/XDGUser.h +7 -7
- package/Plugins/iOS/XDCommonSDK.framework/Headers/XDVersion.h +3 -3
- package/Plugins/iOS/XDCommonSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDCommonSDK.framework/Modules/XDCommonSDK.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/Plugins/iOS/XDCommonSDK.framework/Modules/XDCommonSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/Plugins/iOS/XDCommonSDK.framework/Modules/XDCommonSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
- package/Plugins/iOS/XDCommonSDK.framework/Modules/module.modulemap +5 -0
- package/Plugins/iOS/XDCommonSDK.framework/XDCommonSDK +0 -0
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/de.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/en.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/es.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/fr.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/id.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/ja.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/ko.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/pt.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/ru.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/th.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/tr.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/vi.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/zh-Hans.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/zh-Hant.lproj/Localizable.strings +4 -4
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapAchievementCallback.h +54 -0
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapAchievementWrapper.h +49 -0
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapCloudSaveCallback.h +90 -0
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapCloudSaveWrapper.h +74 -0
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapMomentDelegate.h +77 -0
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDGTapTapMomentWrapper.h +64 -0
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Headers/XDTapSDK4WrapperSDK.h +16 -3
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Info.plist +0 -0
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/Modules/XDTapSDK4WrapperSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
- package/Plugins/iOS/XDTapSDK4WrapperSDK.framework/XDTapSDK4WrapperSDK +0 -0
- package/Runtime/Internal/Core/IBridgeWebView.cs +4 -0
- package/Runtime/Internal/IXDGCommon.Extended.cs +2 -0
- package/Runtime/Internal/Mobile/CommonFeaturesImpl.cs +5 -0
- package/Runtime/Internal/Standalone/Captcha/XDGCaptcha.cs +1 -1
- package/Runtime/Internal/Standalone/CommonFeaturesImpl.cs +13 -0
- package/Runtime/Internal/Standalone/Steam/SteamManager.cs +2 -0
- package/Runtime/Internal/Standalone/UI/Controllers/CancelAccountAlert.cs +1 -1
- package/Runtime/Internal/Standalone/UI/Controllers/XDWebViewAlert.cs +1 -1
- package/Runtime/Internal/Standalone/Web/Function/CloseWebFunction.cs +1 -1
- package/Runtime/Internal/Standalone/Web/Function/OpenPageWebFunction.cs +1 -1
- package/Runtime/Internal/Standalone/Web/Function/WebFunctionHolder.cs +1 -1
- package/Runtime/Internal/Standalone/Web/WebBridgeController.cs +1 -1
- package/Runtime/Internal/Standalone/Web/WebRequest.cs +1 -1
- package/Runtime/Internal/Standalone/Web/XDWebBridgeView.cs +1 -1
- package/Runtime/Internal/XDGCommonInternal.cs +5 -0
- package/package.json +2 -2
|
@@ -9,20 +9,21 @@
|
|
|
9
9
|
|
|
10
10
|
NS_ASSUME_NONNULL_BEGIN
|
|
11
11
|
|
|
12
|
-
static const
|
|
13
|
-
static const
|
|
14
|
-
static const
|
|
15
|
-
static const
|
|
16
|
-
static const
|
|
17
|
-
static const
|
|
18
|
-
static const
|
|
19
|
-
static const
|
|
20
|
-
|
|
21
|
-
static const
|
|
22
|
-
static const
|
|
23
|
-
|
|
24
|
-
static const
|
|
25
|
-
static const
|
|
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.
|
|
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;
|
|
Binary file
|
|
Binary file
|
package/Plugins/iOS/XDCommonSDK.framework/Modules/XDCommonSDK.swiftmodule/arm64-apple-ios.swiftdoc
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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"= "
|
|
46
|
-
"tds_pay_fail"= "
|
|
47
|
-
"tds_pay_cancel"="
|
|
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
|
|
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"= "
|
|
46
|
-
"tds_pay_fail"= "
|
|
47
|
-
"tds_pay_cancel"="
|
|
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
|
|
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"= "
|
|
46
|
-
"tds_pay_fail"= "
|
|
47
|
-
"tds_pay_cancel"="
|
|
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
|
|
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"= "
|
|
46
|
-
"tds_pay_fail"= "Échec de
|
|
47
|
-
"tds_pay_cancel"="
|
|
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
|
|
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"= "
|
|
46
|
-
"tds_pay_fail"= "
|
|
47
|
-
"tds_pay_cancel"="
|
|
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"= "
|
|
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"= "
|
|
46
|
-
"tds_pay_fail"= "
|
|
47
|
-
"tds_pay_cancel"="
|
|
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"= "
|
|
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"= "
|
|
46
|
-
"tds_pay_fail"= "
|
|
47
|
-
"tds_pay_cancel"="
|
|
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"= "
|
|
52
|
+
"tds_pay_net_fail"= "Ağ 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"= "
|
|
46
|
-
"tds_pay_fail"= "
|
|
47
|
-
"tds_pay_cancel"="
|
|
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,
|
|
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 ý";
|
package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/zh-Hans.lproj/Localizable.strings
CHANGED
|
@@ -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" = "同意";
|
package/Plugins/iOS/XDCommonSDK.framework/XDResources.bundle/zh-Hant.lproj/Localizable.strings
CHANGED
|
@@ -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.
|
|
19
|
-
#define XDGTapSDK4_VERSION_CODE @"
|
|
20
|
-
// HASH
|
|
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>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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
|
|
|
@@ -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('=');
|
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
|
}
|