Проверка квитанции SDK AppsFlyer не выполнена - PullRequest
0 голосов
/ 24 мая 2019

Попытка выполнить проверку квитанции сервера покупок в приложении с помощью SDK AppsFlyer's.Вызывается метод validateAndTrackInAppPurchase внутри обратного вызова completeTransaction: SKStoreKit.Однако он терпит неудачу и всегда возвращает следующий ответ.

{
    environment = Sandbox;

    status = 21004;

}

21004 ответ говорит: The shared secret you provided does not match the shared secret on file for your account.

Но я не имею большого представления об этом shared secret

[[AppsFlyerTracker sharedTracker] validateAndTrackInAppPurchase:productId price:priceString
                                                           currency:@"USD"
                                                      transactionId:transaction.transactionIdentifier
                                               additionalParameters:@{@"test": @"val" , @"test1" : @"val 1"}
                                                            success:^(NSDictionary *result){
                                                                NSLog(@"Purchase succeeded And verified!!! response: %@", result[@"receipt"]);
                                                            } failure:^(NSError *error, id response) {
                                                                NSLog(@"response = %@", response);
                                                                if([response isKindOfClass:[NSDictionary class]]) {
                                                                    if([response[@"status"] isEqualToString:@"in_app_arr_empty"]){
                                                                        // retry with 'SKReceiptRefreshRequest' because
                                                                        // Apple has returned an empty response
                                                                        // <YOUR CODE HERE>
                                                                    }

                                                                } else {
                                                                    //handle other errors
                                                                    return;
                                                                }
                                                            }];

1 Ответ

1 голос
/ 24 мая 2019

Как известно Auto-Renewable Subscription требует App-Specific Shared Secret,

См. Вкладку appstoreconnect.apple.com -> My Apps -> Features -> In-App Purchases -> Auto-Renewable Subscription Элемент раздела:

enter image description here

Общий секрет выглядит следующим образом: e21e428f20db4d6d90c9192b9b7b2a75

1) 21004 означает, что вы пытаетесь проверить автообновляемую подписку, а AppsFlyer неУ вас нет общего секретного ключа.

Пожалуйста, свяжитесь с support@appsflyer.com для получения более подробной информации.


Что произойдет, если вы не используете Auto-Renewable Subscription, но все равно получите этоошибка: 21004:

У Apple возникли проблемы с тестированием в режиме песочницы.Попробуйте создать новую учетную запись тестера и повторите тест.В прошлом, когда вы использовали учетную запись A для тестирования Auto-Renewable Subscription, все остальные попытки проверить другие типы покупки, такие как расходная, нерасходуемая, невозобновляемая подписка с учетной записью A - Apple возвращает ту же ошибку 21004.

Надеюсь, это поможет вам,

...