Em resumo: Implemente código adicional no SDK da AppsFlyer para habilitar a atribuição de promoção cruzada.
Implementação da atribuição de promoção entre aplicativos no SDK
Observação:
Anúncios mobile comuns ativam uma URL quando são clicados. Anúncios mobile de promoção entre aplicativos não têm link; em vez disso, ativam o método logAndOpenStore do SDK da AppsFlyer.
A atribuição de cliques e impressões de promoção entre aplicativos é feita usando duas chamadas de API separadas, conforme descrito abaixo. Também é possível passar para cada chamada de API um mapa de valores-chave, que pode conter qualquer informação adequada ao seu caso de uso de promoção entre aplicativos.
Por exemplo, usando o mapa de parâmetros, você pode definir a janela de lookback de clique e outros parâmetros, como IDs de anúncios e conjuntos de anúncios. Você também pode marcar a campanha como campanha incentivada. Para mais informações, consulte o parâmetro de atribuição da AppsFlyer.
Para ver uma lista de parâmetros padrão que você pode passar ao método da API, consulte Parâmetro de atribuição da AppsFlyer
No primeiro lançamento do aplicativo promovido, todos os parâmetros originais podem ser acessados pela API de dados de conversão do SDK, para Android ou iOS.
Atribuir cliques de promoção entre aplicativos
Use o código a seguir para atribuir o clique e abrir a página do aplicativo na loja de aplicativos. O código cria um link de atribuição e adiciona a ele o ID de publicidade do dispositivo.
String campaign = "Cross Promo Campaign";
Map<String, String> parameters = new HashMap();
parameters.put("af_sub1", "val");
parameters.put("custom_param", "val2");
CrossPromotionHelper.logAndOpenStore(this, "com.mygosoftware.android.loginbox", campaign, parameters);iOS permite que você utilize o componente StoreKit para abrir a App Store enquanto permanece no contexto do seu aplicativo. O trecho de código a seguir demonstra como abrir a classe StoreKit e verificar se ela foi inicializada corretamente. Saiba mais sobre a documentação do StoreKit aqui.
static NSString *const kCrossPromotedAppId = @"123456789";
static NSString *const kCrossPromotedCampaign = @"test campaign";
- (void) crossPromotion {
NSDictionary *parameters = @{@"af_sub1": @"val", @"custom_param": @"val2" };
[AppsFlyerCrossPromotionHelper logAndOpenStore:kCrossPromotedAppId
campaign:kCrossPromotedCampaign
parameters:parameters
openStore:^(NSURLSession *urlSession, NSURL *clickURL)
{
NSURLSessionDataTask *dataTask;
dataTask = [urlSession dataTaskWithURL:clickURL
completionHandler:^(NSData * _Nullable data,
NSURLResponse * _Nullable response,
NSError * _Nullable error)
{
if (error) {
NSLog(@"AppsFlyer crossPromotionViewed Connection failed! Error - %@",[error localizedDescription]);
}
else
{
if (NSClassFromString(@"SKStoreProductViewController") == nil) {
NSString *iTunesLink = [linkGenerator generateLink];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink] options:@{} completionHandler:^(BOOL success) {
NSLog(@"AppsFlyer openAppStoreForAppID completionHandler result %d",success);
}];
}
}
}];
[dataTask resume];
if (NSClassFromString(@"SKStoreProductViewController") != nil) {
[self openStoreKit:kCrossPromotedAppId viewController:self];
}
}];
}
- (void) openStoreKit:(NSString*) appID
viewController: (UIViewController*) viewController
{
SKStoreProductViewController *storeController = [[ SKStoreProductViewController alloc ] init ];
NSDictionary *productParameters = @{ SKStoreProductParameterITunesItemIdentifier : appID };
[ storeController loadProductWithParameters: productParameters completionBlock:^( BOOL result, NSError *error )
{
if ( result )
{
[viewController presentViewController:storeController animated:YES completion:nil];
}
}];
Dictionary<string,string> parameters = new Dictionary<string,string>();
parameters.Add("af_sub1","val");
parameters.Add("custom_param","val2");
AppsFlyer.attributeAndOpenStore("com.mygosoftware.android.loginbox","test campaign",parameters);
No Android, a chamada desse método deve resultar na abertura da Play Store e no redirecionamento para o aplicativo relevante.
Dictionary<string,string> parameters = new Dictionary<string,string>();
parameters.Add("af_sub1","val");
parameters.Add("custom_param","val2")
AppsFlyer.attributeAndOpenStore("123456789","test campaign",parameters);
No iOS, um link de atribuição é gerado e retornado ao método onOpenStoreLinkGenerated na interface IAppsFlyerUserInvite.
Observação:
Você pode adicionar qualquer um destes parâmetros de link de atribuição ao link gerado.
Atribuir impressões de promoção cruzada
Para atribuir uma impressão, use a seguinte chamada de API. Certifique-se de usar o ID do aplicativo promovido da maneira como aparece no painel da AppsFlyer.
String appID = "com.app";
String campaign = "Cross Promo Campaign";
Map<String, String> parameters = new HashMap();
parameters.put("af_sub1", "val");
parameters.put("custom_param", "val2");
CrossPromotionHelper.logCrossPromoteImpression(this, appID, campaign, parameters);
val appID = "com.app"
val campaign = "Cross Promo Campaign"
val parameters = HashMap<String, String>()
parameters.put("af_sub1", "val")
parameters.put("custom_param", "val2")
CrossPromotionHelper.logCrossPromoteImpression(
this,
appID,
campaign,
parameters
)
static NSString *const kCrossPromotedAppId = @"123456789";
static NSString *const kCrossPromotedCampaign = @"test campaign";
/*...*/
- (void)viewDidLoad {
[super viewDidLoad];
NSDictionary *kCrossPromotedParameters = @{@"af_sub1": @"val", @"custom_param": @"val2" };
/* gerar impressão para cross-promotion */
[AppsFlyerCrossPromotionHelper logCrossPromoteImpression:kCrossPromotedAppId
campaign:kCrossPromotedCampaign parameters:kCrossPromotedParameters];
}var appID = "com.app" var campaign = "Cross Promo Campaign" var parameters = [String : String]() parameters["af_sub1"] = "val" parameters["custom_param"] = "val2" AppsFlyerCrossPromotionHelper.logCrossPromoteImpression(appID, campaign: campaign, parameters: parameters)
AppsFlyer.recordCrossPromoteImpression(string promotedAppID, string campaign);
Atribuir promoção cruzada com plataformas não nativas
Atualmente, as APIs de atribuição de promoção cruzada estão disponíveis apenas para os SDKs nativos de Android e iOS e para Unity. No entanto, plataformas não nativas podem realizar a atribuição de promoção cruzada com a mesma eficácia. Elas incluem plataformas como Adobe Air, Cordova, Xamarin, React Native, Marmalade etc.
Para fazer isso, você precisa criar um link de atribuição, que é acionado quando o usuário clica no anúncio de promoção cruzada. O link DEVE conter o nome do canal de mídia af_cross_promotion e o ID do site do aplicativo de origem.
Formato da URL de cliques de promoção cruzada:
https://app.appsflyer.com/{PROMOTED APP ID}?pid=af_cross_promotion&
af_siteid={SOURCE APP NAME}
Formato da URL de impressões de promoção cruzada:
https://impression.appsflyer.com/{PROMOTED APP ID}?pid=af_cross_promotion&
af_siteid={SOURCE APP NAME}
This article was translated using AI and may contain errors. For the most accurate information, please refer to the English version using the language selector.