Uygulama Kullanıcı Aracısı
Spam'le mücadele çalışmamızın bir parçası olarak, bir uygulama kullanıcısı adına analiz/reklam ürünü tarafından gönderilen User-Agent başlığı için standartlaştırılmış bir spesifikasyon geliştirdik. User-Agent uygulaması aşağıdaki koda uyacak şekilde yerel koddan türetilebilir:
name version (os_and_version; locale; device; build; Proxy)
Bu alanların tanımı aşağıdaki gibidir:
User-Agent bileşenleri | |
---|---|
name | Analytics/reklam ürününün adı. ( Kullanıcı aracısı istemci tarafında oluşturulursa bunun yerine Android// Specified by API consumer. iOS// Specified by API consumer. |
version | Analytics/reklam ürününün sürümü.
( Android// Specified by API consumer. iOS// Specified by API consumer. |
os_and_version | Uygulamanın çalıştığı işletim sistemi ve işletim sistemi sürümü. ( AndroidString osAndVersion = "Android " + Build.VERSION.RELEASE; iOSUIDevice *uid = [UIDevice currentDevice]; NSString *osAndVersion = [NSString stringWithFormat:@"%@ %@", [uid systemName], [uid systemVersion]]; |
locale | Alt çizgiyle ayrılmış iki harfli dil ve ülke kodu kullanan cihaz için IETF yerel etiketi.
( AndroidString locale = Locale.getDefault(); iOSNSString *locale = [[NSLocale currentLocale] localeIdentifier] |
device | Analytics/ads ürününü çalıştıran fiziksel cihazın adı.
( AndroidString device = Build.MODEL; iOS@import Darwin.sys.sysctl; NSString *device(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname("hw.machine", buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding]; } |
build | "Derleme"/ardından işletim sisteminin derleme numarası.
( AndroidString build = "Build/" + Build.ID; iOS@import Darwin.sys.sysctl; NSString *build(void) { size_t bufferSize = 64; NSMutableData *buffer = [[NSMutableData alloc] initWithLength:bufferSize]; int status = sysctlbyname("kern.osversion", buffer.mutableBytes, &bufferSize, NULL, 0); if (status != 0) { return nil; } return [[NSString alloc] initWithCString:buffer.mutableBytes encoding:NSUTF8StringEncoding]; } |
Uygulama User-Agent sunucu tarafını oluştururken yalnızca uygulamanın User-Agent'inin sonuna ; Proxy
ekleyin. User-Agent uygulaması tamamen istemci tarafında oluşturulduysa ; Proxy
öğesini hariç tutun. Bu nedenle, bir kullanıcı aracısı şöyle olabilir:
- Android:
AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M; Proxy)
- iOS:
AdMob/7.10.1 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy)
Dönüşüm İzleme İsteği
Dönüşüm izleme isteklerinin amacı, dönüşüm olarak izlenmesi ve/veya bir yeniden pazarlama listesini doldurmak için kullanılması gereken uygulama etkinliğini Google Ads'e bildirmek ve etkinlikten önce gerçekleşen tüm tıklamaları açıklayan meta verileri almaktır.
Tüm API çağrıları www.googleadservices.com
alanına yapılır. Dönüşüm istekleri, şu yol üzerinden HTTPS aracılığıyla POST
istekleridir:
/pagead/conversion/app/versionversion dönüşüm izleme API'sinin amaçlanan sürümüdür. Şu anda geçerli tek sürüm
1.0
.
Standart bir uygulama dönüşümü isteği aşağıdaki parametreleri içerecektir.
Dönüşüm İzleme İsteği | |
---|---|
dev_token |
Zorunlu Konum: Sorgu API tüketicisine verilen benzersiz, statik geliştirici jetonu. Z_eErE4DkvcKjDM1OVE4c4 |
link_id |
Zorunlu Konum: Sorgu API tüketicisinin geliştirici jetonunu belirli bir uygulamaya bağlayan bağlantı tanımlayıcısı. 31FF8D67E5BB5DD5029DCC2734C2F884 |
app_event_type |
Zorunlu Konum: Sorgu Gerçekleşen uygulama etkinliğinin adı. Bu alan bir numaralandırmadır ve yalnızca aşağıdaki değerleri kabul eder: • first_open • session_start • in_app_purchase • view_item_list • view_item • view_search_results • add_to_cart • ecommerce_purchase • custom
|
app_event_name |
Belirli koşullar altında gereklidir Konum: Sorgu
level_achieved Level Achieved Bu alan, |
app_event_data |
İsteğe bağlı Konum: Gövde Ek zengin etkinlik verilerini basit bir JSON nesne eşleme dizesi anahtarları olarak değerlere yönlendirin. Kabul edilebilir değerler dize ve dize dizisidir. {"level": 5, "attempts": 20} |
rdid |
Zorunlu Konum: Sorgu Ham cihaz kimliğini temsil eden geçerli bir UUID dizesi. f10e1de2-e237-4f50-b6aa-843c45cc63d6 Cihaz kimliğinin eksik olması durumunda (ör. ATT'ye izin vermeyen bir kullanıcının cihaz kimliği) bu değeri sıfır olarak ayarlayın. 00000000-0000-0000-0000-000000000000 |
id_type |
Zorunlu Konum: Sorgu
Androidadvertisingid iOSidfa |
lat |
Zorunlu Konum: Sorgu Cihaz için reklam izleme durumunu sınırlayın.
|
app_version |
Zorunlu Konum: Sorgu Uygulamanın mevcut sürümü. Bu şekilde standartlaştırılmalıdır. AndroidpackageManager.getPackageInfo(packageName(), PackageManager.GET_META_DATA).versionName iOS[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] 1.2.4 |
os_version |
Zorunlu Konum: Sorgu Uygulamanın ana işletim sisteminin mevcut sürümü. Bu, aşağıdaki şekilde standartlaştırılmalıdır. Androidandroid.os.Build.VERSION.RELEASE iOS[[UIDevice currentDevice] systemVersion] |
sdk_version |
Zorunlu Konum: Sorgu Etkinliği ölçen SDK sürümü. Esas olarak hata ayıklama için kullanıldığından, sürüm sürümü tam olarak SDK sürümlerinizle yayınlandığı şekilde yansıtılmalıdır. Uygulama SDK kullanmıyorsa lütfen 1.9.5r6 |
timestamp |
Zorunlu Konum: Sorgu Dönüşüm etkinliğinin gerçekleştiği UNIX zaman damgası (saniye cinsinden en fazla saniye). 1432681913.123456 |
value |
İsteğe bağlı Konum: Sorgu Etkinliğin parasal değeri (varsa). Bu değer, tam sayı ve kesirli kısmı ayırmak için ondalık nokta kullanılarak her zaman makine tarafından okunabilir bir kayan nokta değeri olarak biçimlendirilmelidir. 1.99 |
currency_code |
Belirli koşullar altında gereklidir Konum: Sorgu
USD |
gclid |
Belirli koşullar altında gereklidir Konum: Sorgu Uygulamayı açan bir derin bağlantı URL'sindeki Cj0KEQjw0dy4BRCuuL_e5M |
market_referrer_gclid |
Belirli koşullar altında gereklidir Konum: Sorgu Play Yükleyici Referans API'sı aracılığıyla yükleme_yönlendiren değeri tarafından yakalanan bir derin bağlantı URL'sindeki BX3QojHp4mY5MrJtFM_d1u |
gclid_only_request |
Belirli koşullar altında gereklidir Konum: Sorgu rdid'in (reklam kimliği) 1 |
gbraid |
Belirli koşullar altında gereklidir Konum: Sorgu Son açılan ChEI8IixhgYQrufHkIjz3YWRARIzALev_G_O |
app_open_source |
Belirli koşullar altında gereklidir Konum: Sorgu Reklam tıklaması derin bağlantısını veya organik uygulama oturumlarını tanımlama değeri. ad_click or organic |
User-Agent |
Zorunlu Konum: Başlık Önceki bölümde tanımlanan uygulama kullanıcı aracısı. AdMob/7.10.1 (Android 6.0; en_US; SM-G900F; Build/MMB29M) |
X-Forwarded-For |
Zorunlu Konum: Başlık Etkinliğin ölçüldüğü cihazın herkese açık IPv4 veya IPv6 adresi. 216.58.194.174 |
Tüm istekler HTTPS üzerinden gönderilmelidir. HTTP aracılığıyla alınan ping'ler reddedilir.
İstek gövdesi boşsa (app_event_data
yükünde zengin etkinlik verisi aktarılmadığında) sunucumuzun, isteğinizde açıkça Content-Length: 0
başlığını ayarlamanızı gerektirdiğini unutmayın.
Örnek İstek
Özel olmayan etkinlik türüne ve gelir bilgilerine sahip geçerli bir dönüşüm izleme isteği örneği:
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=in_app_purchase &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["Crayons","Markers"]}}
Özel olmayan etkinlik türü ve gelir bilgisi ile rdid (advertisingid) bulunmayan olan geçerli bir dönüşüm izleme isteğinin örneği:
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=in_app_purchase &rdid=00000000-0000-0000-0000-000000000000 &id_type=advertisingid &lat=1 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD &market_referrer_gclid=BX3QojHp4mY5MrJtFM_d1u &gclid=Cj0KEQjw0dy4BRCuuL_e5M &gclid_only_request=1 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; Android,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
{"app_event_data":{"item_id":["Crayons","Markers"]}}
Geçerli bir oturum başlatma isteği örneği:
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=session_start &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
Derin bağlantıdan başlayan bir oturum için geçerli bir oturum başlatma yeniden ilişkilendirme isteğine örnek olarak:example://product/123?gclid=Cj0KEQjw0dy4BRCuuL_e5M
POST /pagead/conversion/app/1.0 ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=session_start &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &gclid=Cj0KEQjw0dy4BRCuuL_e5M Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
Etkinlik Verilerini Kodlama
app_event_data
gövde parametresi için lütfen temel veri türleri için aşağıdaki kuralları kullanın:
Kayan
- Uygulama yerelleştirmesinden bağımsız olarak ondalık ayırıcı olarak nokta karakterini kullanın
- Parasal değerleri göstermek için iki haneli ondalık basamak kesinliği kullanın. Örneğin, 2,99
- Üslü gösterimi kullanmayın, ör. 2E+9
- Sayı gruplarını ayırmak için virgül karakteri kullanmayın, ör. 1,000,000
- Geçerli örnekler:
-0.5
2.99
1000000.123
Integer
- Ondalık basamak içermeyen yalnızca tam sayı değerleri gönderin
- Sayı gruplarını ayırmak için virgül karakteri kullanmayın, ör. 1.000.000
- Geçerli örnekler:
1000
-11
0
Tarih
- Tarih biçimi: yyyy-aa-gg
yyyy
= dört haneli yıl, ör. 2016mm
= iki haneli ay, ör. Eylül 09dd
= iki haneli gün, ör.ayın 23. günü için 23
- Her zaman yukarıda belirtilen basamak sayısını gönderin.Örneğin ayın 5. günü için dd değerini gönderiyorsanız
05
değerini gönderin. - Geçerli örnekler:
"2016-09-23"
"1990-12-31"
- Tarih biçimi: yyyy-aa-gg
Zaman damgası
- Saat biçimi: UTC saat diliminde tanımlanan Unix/Epoch zaman damgası (mikro saniyeye kadar hassasiyetle)
- Geçerli örnekler:
- Çarşamba için
1478713087
, 09 Kasım 2016 17:38:07 GMT - Çarşamba için
1073513982.123000
, 7 Ocak 2004 22:19:42.123 GMT
- Çarşamba için
Diziler
- Yalnızca basit değerler (dize, sayı ve boole) dizilerini gönderin.
- Geçerli Örnekler:
[123, 456, 789]
["abc"]
Dönüşüm İzleme Yanıtı
Dönüşüm izleme yanıtı şu biçimdedir:
{ "ad_events": [<ad event objects>], "errors": [<error strings>], "attributed": true|false }
Hem ad_events hem de errors dizileri boş olabilir.
Hataların makine tarafından okunabilir hata kodları olmasını bekleriz (ör. invalid_timestamp
).
Reklam etkinlikleri, uygulama ilişkilendirmenin temel nesneleridir ve aşağıdaki özellikleri içerir.
Dönüşüm İzleme Yanıtı | |
---|---|
ad_event_id |
Her zaman mevcut string
Q2owS0VRancwZHk0QlJDdXVMX2U1TQ |
conversion_metric |
Her zaman mevcut string İlişkilendirme için kullanılan dönüşüm metriği. Başlangıçta bir dönüşüm metriğini destekleyeceğiz. conversion |
timestamp |
Her zaman mevcut rakam Reklam etkinliğinin gerçekleştiği UNIX zaman damgası (saniye cinsinden mikrosaniyelik hassasiyetle). Bu değer, son tıklama ilişkilendirmesi için kullanılmalıdır. 1432681913.123456 |
campaign_type |
Her zaman mevcut string Bu alan, reklam etkinliğini oluşturan kampanyanın türünü tanımlar. Olası değerler aşağıdaki gibidir. ACI ACE Search Display Video Shopping Hotel Performance_Max Other ACI, Yüklemelere Yönelik Uygulama Kampanyası'nın kısaltması. ACE, Etkileşime Yönelik Uygulama Kampanyaları'nın kısaltması. |
campaign_id |
Her zaman mevcut rakam Reklam etkinliğini oluşturan kampanyanın sayısal kampanya kimliği. Bu değerin benzersiz olduğu garanti edilir. 123456789 |
campaign_name |
Her zaman mevcut string Reklamı oluşturan kampanyanın reklamveren tanımlı kampanya adı. Bu değerin benzersiz olduğu garanti edilmez. Occasional Gamers (Video) |
ad_type |
Her zaman mevcut string Reklam etkinliğiyle sonuçlanan reklamın türü. Bu değer, çeşitli envanter türlerini ayırt etmek için aşağıdaki gibi kullanılabilir. Uygulama TanıtımıClickToDownloadUygulama Etkileşimi AppDeepLinkUygulama Etkileşimi — Yükleme ve Devam Etme AppDeepLinkContinueDiğer değerler için tümünü yakalama Unknown |
external_customer_id |
Her zaman mevcut rakam Reklam etkinliğini oluşturan kampanyanın sahibi olan reklamverenin reklamveren tanımlayıcısı. Bu değer, Google Ads hesaplarını ayırt etmek için kullanılabilir. 123456789 |
location |
Her zaman mevcut rakam Reklam etkinliğinin coğrafi konumunun yer kimliği kodu. Konum kodlarını yorumlamak için Google Ads API referansını inceleyin. |
network_type |
Her zaman mevcut string Bu alan, reklam etkinliğinin gerçekleştiği Google Ads reklamcılık ağını tanımlar. Olası değerler aşağıdaki gibidir. Search Display YouTube |
network_subtype |
string Bu alan, reklam etkinliğinin gerçekleştiği Google Ads reklamcılık ağının "alt türünü" tanımlar. Olası değerler, birincil ağ türüne göre değişir. AramaNormal Google AramaGoogleSearchGoogle Arama Ağı İş Ortakları SearchPartners Görüntülü Reklam AğıMobil Web YayıncılarımGDNUygulama Yayıncıları Google AdMob YouTubeYouTube Video ağıYouTubeVideosYouTube Arama ağı YouTubeSearchVideo İş Ortakları VideoPartners |
video_id |
Yalnızca string Reklam etkinliğiyle ilişkilendirilen YouTube video kimliği. dQw4w9WgXcQ |
keyword |
Yalnızca string Reklam etkinliğiyle ilişkili arama anahtar kelimesi. +food +delivery |
match_type |
Yalnızca string Arama ağı anahtar kelimelerinin eşleme türü. TameSıralı pGeniş b |
placement |
Yalnızca string Reklam etkinliğiyle ilişkilendirilen yerleşim. mobileapp::1-343200656 |
ad_group_id |
Her zaman mevcut rakam Reklam etkinliğiyle oluşturulan reklam grubunun sayısal kimliği. Bu değerin benzersiz olduğu garanti edilir. 123456789 |
ad_group_name |
Yalnızca string Reklamı oluşturan reklam grubunun reklamveren tarafından tanımlanan reklam grubu adı. Bu değerin benzersiz olduğu garanti edilmez. My App AdGroup |
creative_id |
Yalnızca rakam Reklam etkinliğini oluşturan reklam öğesi reklam biriminin sayısal kimliği. Bu değerin benzersiz olduğu garanti edilir. 123456789 |
interaction_type |
Bu alan, her zaman etkileşim olacaktır. string |
Örnek Yanıtlar
İstekte hatalar olduğunda görülen dönüşüm izleme yanıtı örneği:
{ "ad_events": [], "errors": ["INVALID_CURRENCY_CODE"], "attributed": false }
Negatif dönüşüm izleme yanıtı için bir örnek:
{ "ad_events": [], "errors": [], "attributed": false }
Tüm dönüşüm izleme istekleri için bir dönüşüm izleme yanıtı döndürülür.
Evrensel Uygulama Kampanyası için olumlu bir dönüşüm izleme yanıtı örneği:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "ACI", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Search", "network_subtype": "GoogleSearch", "video_id": null, "keyword": null, "match_type": null, "placement": null, "ad_group_id": null, "ad_group_name": "", "creative_id": null, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true }
Bir Arama Ağı kampanyası için olumlu dönüşüm izleme yanıtı örneği:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Search", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Search", "network_subtype": "GoogleSearch", "video_id": null, "keyword": "+space +birds", "match_type": "b", "placement": null, "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true }
Bir Görüntülü Reklam Ağı kampanyası için olumlu dönüşüm izleme yanıtı örneği:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Display", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "Display", "network_subtype": "mGDN", "video_id": null, "keyword": null, "match_type": null, "placement": "mobile-app::2-343200656", "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true }
YouTube kampanyası için olumlu bir dönüşüm izleme yanıtı örneği:
{ "ad_events": [{ "ad_event_id": "Q2owS0VRancwZHk0QlJDdXVMX2U1TQ", "conversion_metric": "conversion", "interaction_type": "engagement", "campaign_type": "Video", "campaign_id": 123456789, "campaign_name": "My App Campaign", "ad_type": "ClickToDownload", "external_customer_id": 123456789, "location": 21144, "network_type": "YouTube", "network_subtype": "YouTubeVideos", "video_id": "dQw4w9WgXcQ", "keyword": null, "match_type": null, "placement": null, "ad_group_id": 123456789, "ad_group_name": "My App AdGroup", "creative_id": 123456789, "timestamp": 1432681913.123456 }], "errors": [], "attributed": true }
Ağlar Arası İlişkilendirme İsteği
Google Ads bir dönüşüm izleme isteğine olumlu yanıt verdiğinde API tüketicisi, son tıklamayı belirledikten sonra ağlar arası ilişkilendirme kararını Google Ads'e bildirmelidir.
Ağlar arası ilişkilendirme isteği, orijinal dönüşüm izleme isteğiyle aynıdır ancak istek yolu şu şekildedir:
/pagead/conversion/app/1.0/cross_network
ve gerekli iki parametrenin eklenmesi:
Ağlar Arası İlişkilendirme İsteği | |
---|---|
ad_event_id |
Zorunlu Konum: Sorgu Önceki istekteki ilişkilendirmeyle ilişkilendirilen reklam etkinliğindeki |
attributed |
Zorunlu Konum: Sorgu Google Ads'in dönüşüm için API tüketicisi tarafından kredi alıp almadığı. |
Ağlar arası geçerli bir ilişkilendirme isteği örneği:
POST /pagead/conversion/app/1.0/cross_network ?dev_token=Z_eErE4DkvcKjDM1OVE4c4 &link_id=31FF8D67E5BB5DD5029DCC2734C2F884 &app_event_type=custom &app_event_name=level_achieved &rdid=0F7AB11F-DA50-498E-B225-21AC1977A85D &id_type=idfa &lat=0 &app_version=1.2.4 &os_version=9.3.2 &sdk_version=1.9.5r6 ×tamp=1432681913.123456 &value=1.99 ¤cy_code=USD &ad_event_id=Q2owS0VRancwZHk0QlJDdXVMX2U1TQ &attributed=1 Host: www.googleadservices.com User-Agent: MyAnalyticsCompany/1.0.0 (iOS 10.0.2; en_US; iPhone9,1; Build/13D15; Proxy) X-Forwarded-For: 216.58.194.174 Content-Type: application/json; charset=utf-8
Ağlar arası geçerli bir ilişkilendirme isteği, her zaman yanıt gövdesi olmayan genel bir 200 yanıtı alır.