সার্ভার-সাইড যাচাইকরণ কলব্যাক হল URL অনুরোধ, যার কোয়েরি প্যারামিটার Google-এর মাধ্যমে প্রসারিত করা হয়। এটি Google-এর মাধ্যমে এক্সটার্নাল সিস্টেমে পাঠানো হয় যাতে এটি জানানো যায় যে কোনও ব্যবহারকারীকে পুরস্কার প্রদান করা বা পুরস্কার প্রদান করা ইন্টারস্টিশিয়াল বিজ্ঞাপনের সাথে ইন্টার্যাক্ট করার জন্য পুরস্কার দেওয়া উচিত। পুরস্কারপ্রাপ্ত SSV (সার্ভার-সাইড যাচাইকরণ) কলব্যাক ব্যবহারকারীদের পুরস্কার দেওয়ার জন্য ক্লায়েন্ট-সাইড কলব্যাক স্পুফিংয়ের বিরুদ্ধে অতিরিক্ত সুরক্ষার লেয়ার প্রদান করে।
এই নির্দেশিকা আপনাকে দেখায় যে কীভাবে Tink Java Apps থার্ড-পার্টি ক্রিপ্টোগ্রাফিক লাইব্রেরি ব্যবহার করে পুরস্কৃত SSV কলব্যাক যাচাই করতে হয়, যাতে কলব্যাকের কোয়েরি প্যারামিটার বৈধ মান হয় তা নিশ্চিত করা যায়। যদিও এই গাইডের উদ্দেশ্যে Tink ব্যবহার করা হয়, আপনার কাছে ECDSA সমর্থন করে এমন যেকোনও থার্ড-পার্টি লাইব্রেরি ব্যবহার করার বিকল্প রয়েছে। এছাড়াও, AdMob UI-তে টেস্টিং টুল ব্যবহার করে আপনার সার্ভার টেস্ট করতে পারবেন।
পূর্বশর্ত
- আপনার বিজ্ঞাপন ইউনিটে পুরস্কারের সার্ভার-সাইড ভেরিফিকেশন চালু করুন।
Tink Java Apps লাইব্রেরি থেকে RewardedAdsVerifier ব্যবহার করুন
Tink Java Apps GitHub রিপোজিটরিতে
একটি
RewardedAdsVerifier
হেল্পার ক্লাস অন্তর্ভুক্ত থাকে যা পুরস্কার প্রদানকারী SSV কলব্যাক যাচাই করার জন্য প্রয়োজনীয় কোড কমিয়ে দেয়।
এই ক্লাস ব্যবহার করলে, আপনি নিম্নলিখিত কোডের মাধ্যমে কলব্যাক URL যাচাই করতে পারবেন।
RewardedAdsVerifier verifier = new RewardedAdsVerifier.Builder()
.fetchVerifyingPublicKeysWith(
RewardedAdsVerifier.KEYS_DOWNLOADER_INSTANCE_PROD)
.build();
String rewardUrl = ...;
verifier.verify(rewardUrl);
verify() পদ্ধতি কোনও ব্যতিক্রম না তুলে ধরে কার্যকর হলে, কলব্যাক
URL সফলভাবে যাচাই করা হয়েছে। ব্যবহারকারীকে পুরস্কার দেওয়া
বিভাগে ব্যবহারকারীকে কখন পুরস্কার দেওয়া উচিত সেই সংক্রান্ত পেশাদার পদ্ধতি সম্পর্কে বিস্তারিত তথ্য দেওয়া আছে। পুরস্কার প্রদানকারী SSV কলব্যাক যাচাই করার জন্য এই ক্লাসের করা ধাপগুলির
ব্রেকডাউন পেতে,
আপনি পুরস্কার প্রদানকারী SSV-এর
ম্যানুয়াল যাচাইকরণ বিভাগটি পড়ে দেখতে পারেন।
SSV কলব্যাক প্যারামিটার
সার্ভার-সাইড যাচাইকরণ কলব্যাকে কোয়েরি প্যারামিটার থাকে যা পুরস্কার প্রদানকারী বিজ্ঞাপনের ইন্টার্যাকশন বর্ণনা করে। নিচে প্যারামিটারের নাম, বিবরণ ও উদাহরণ ভ্যালু তালিকাভুক্ত করা হল। বর্ণানুক্রমিকভাবে প্যারামিটার পাঠানো হয়।
| প্যারামিটারের নাম | বিবরণ | উদাহরণ ভ্যালু |
|---|---|---|
| ad_network | এই বিজ্ঞাপনটি পূরণ করেছে এমন বিজ্ঞাপন সোর্সের জন্য বিজ্ঞাপন সোর্স শনাক্তকারী। আইডি ভ্যালুর সাথে সংশ্লিষ্ট বিজ্ঞাপন সোর্সের নাম বিজ্ঞাপন সোর্স শনাক্তকারী বিভাগে তালিকাভুক্ত করা আছে। | 1953547073528090325 |
| ad_unit | পুরস্কার প্রদানকারী বিজ্ঞাপনের জন্য অনুরোধ করতে AdMob বিজ্ঞাপন ইউনিট আইডি ব্যবহার করা হয়েছে। | 2747237135 |
| custom_data |
customData-এর দেওয়া কাস্টম ডেটা স্ট্রিং।
অ্যাপের মাধ্যমে কোনও কাস্টম ডেটা স্ট্রিং প্রদান করা না হলে, এই কোয়েরি প্যারামিটার ভ্যালু SSV কলব্যাকে থাকবে না। |
SAMPLE_CUSTOM_DATA_STRING |
| key_id | SSV কলব্যাক যাচাই করার জন্য ব্যবহার করা হবে এমন কী। এই ভ্যালু AdMob কী সার্ভার-এর প্রদান করা পাবলিক কী-তে ম্যাপ করে। | 1234567890 |
| reward_amount | বিজ্ঞাপন ইউনিট সেটিংসে উল্লেখ করা পুরস্কারের পরিমাণ। | 5 |
| reward_item | বিজ্ঞাপন ইউনিটের সেটিংসে উল্লেখ করা পুরস্কার আইটেম। | কয়েন |
| স্বাক্ষর | AdMob-এর মাধ্যমে তৈরি করা SSV কলব্যাকের জন্য স্বাক্ষর। | MEUCIQCLJS_s4ia_sN06HqzeW7Wc3nhZi4RlW3qV0oO-6AIYdQIgGJEh-rzKreO-paNDbSCzWGMtmgJHYYW9k2_icM9LFMY |
| টাইমস্ট্যাম্প | ব্যবহারকারীকে কখন পুরস্কার দেওয়া হয়েছে তার টাইমস্ট্যাম্প, Epoch টাইম হিসেবে মিলিসেকেন্ডে। | 1507770365237823 |
| transaction_id | AdMob-এর মাধ্যমে জেনারেট করা প্রতিটি পুরস্কার প্রদান ইভেন্টের জন্য অনন্য হেক্স এনকোড করা শনাক্তকারী। | 18fa792de1bca816048293fc71035638 |
| user_id | userId-এর
প্রদান করা ইউজার আইডেন্টিফায়ার।
অ্যাপের মাধ্যমে কোনও ইউজার আইডেন্টিফায়ার প্রদান করা না হলে, এই কোয়েরি প্যারামিটার SSV কলব্যাকে থাকবে না। |
1234567 |
বিজ্ঞাপন সোর্স শনাক্তকারী
বিজ্ঞাপন সোর্সের নাম ও আইডি
| বিজ্ঞাপন সোর্সের নাম | বিজ্ঞাপন সোর্স আইডি |
|---|---|
| বিজ্ঞাপন তৈরি (বিডিং) | 1477265452970951479 |
| AdMob নেটওয়ার্ক | 5450213213286189855 |
| AdMob নেটওয়ার্ক ওয়াটারফল | 1215381445328257950 |
| AppLovin | 1063618907739174004 |
| AppLovin (বিডিং) | 1328079684332308356 |
| Bidease (বিডিং) | 3670825090829827805 |
| BidMachine (bidding) | 7943972370566394673 |
| Chartboost | 2873236629771172317 |
| Chocolate প্ল্যাটফর্ম (বিডিং) | 6432849193975106527 |
| কাস্টম ইভেন্ট | 18351550913290782395 |
| DT Exchange* * ২১ সেপ্টেম্বর, ২০২২-এর আগে এই নেটওয়ার্ককে "Fyber Marketplace" বলা হত। | 2179455223494392917 |
| DT Exchange (বিডিং) | 8189833498765234879 |
| Equativ (bidding)* * ১২ জানুয়ারি, ২০২৩-এর আগে এই নেটওয়ার্ককে "Smart Adserver" বলা হত। | 5970199210771591442 |
| Fluct (bidding) | 8419777862490735710 |
| i-mobile | 5208827440166355534 |
| ইমপ্রুভ ডিজিটাল (বিডিং) | 159382223051638006 |
| Index Exchange (বিডিং) | 4100650709078789802 |
| InMobi | 7681903010231960328 |
| InMobi (SDK) (bidding) | 8468954295581492586 |
| InMobi Exchange (বিডিং) | 5264320421916134407 |
| ironSource Ads | 6925240245545091930 |
| ironSource Ads (bidding) | 1643326773739866623 |
| Liftoff Monetize* * ৩০ জানুয়ারি, ২০২৩-এর আগে এই নেটওয়ার্কের নাম ছিল "Vungle"। | 1953547073528090325 |
| Liftoff Monetize (বিডিং)* * ৩০ জানুয়ারি, ২০২৩-এর আগে এই নেটওয়ার্ককে "Vungle (bidding)" বলা হত। | 4692500501762622185 |
| LY Ads Network | 3025503711505004547 |
| LY Ads Network (bidding) | 2615812619460460513 |
| Magnite DV+ (bidding) | 3993193775968767067 |
| maio | 7505118203095108657 |
| Media.net (bidding) | 2127936450554446159 |
| মধ্যস্থতা করা কোম্পানির বিজ্ঞাপন | 6060308706800320801 |
| Meta Audience Network* * ৬ জুন, ২০২২-এর আগে, এই নেটওয়ার্ককে "Facebook Audience Network" বলা হত। | 10568273599589928883 |
| Meta Audience Network (বিডিং)* * ৬ জুন, ২০২২-এর আগে, এই নেটওয়ার্ককে "Facebook Audience Network (বিডিং)" বলা হত। | 11198165126854996598 |
| Mintegral | 1357746574408896200 |
| Mintegral (bidding) | 6250601289653372374 |
| Mobfox (বিডিং) | 3086513548163922365 |
| MobileFuse (bidding) | 7303547408604090310 |
| Moloco Ads SDK (bidding) | 8267622065755668722 |
| myTarget | 8450873672465271579 |
| Nativo (bidding) | 3240503836211327896 |
| Nexxen (বিডিং)* * ১ মে, ২০২৪-এর আগে এই নেটওয়ার্ককে "UnrulyX" বলা হত। | 2831998725945605450 |
| OneTag Exchange (বিডিং) | 4873891452523427499 |
| OpenX (বিডিং) | 4918705482605678398 |
| Pangle | 4069896914521993236 |
| Pangle KR SDK (bidding) | 12171279046073404914 |
| Pangle ROW SDK (বিডিং) | 3525379893916449117 |
| Pangle US SDK (বিডিং) | 15999446638585856012 |
| PubMatic (bidding) | 3841544486172445473 |
| PubMatic OpenWrap SDK | 7702975372504485373 |
| PubMatic OpenWrap SDK (bidding) | 1234567890123456789 |
| রিজার্ভেশন ক্যাম্পেন | 7068401028668408324 |
| রাইজ (বিডিং) | 6816468518946650043 |
| Sharethrough (বিডিং) | 5247944089976324188 |
| Smaato (বিডিং) | 3362360112145450544 |
| Sonobi (bidding) | 3270984106996027150 |
| TripleLift (bidding) | 8332676245392738510 |
| Unity Ads | 4970775877303683148 |
| Unity Ads (বিডিং) | 7069338991535737586 |
| Verve Group (bidding) | 5013176581647059185 |
| Vpon | 1940957084538325905 |
| Yieldmo (bidding) | 4193081836471107579 |
| YieldOne (বিডিং) | 3154533971590234104 |
| Zucks | 5506531810221735863 |
ব্যবহারকারীকে পুরস্কৃত করা
ব্যবহারকারীকে কখন পুরস্কৃত করা হবে তা ঠিক করার সময় ব্যবহারকারীর অভিজ্ঞতা ও পুরস্কারের বৈধতা নিশ্চিত করার মধ্যে ভারসাম্য বজায় রাখা গুরুত্বপূর্ণ। এক্সটার্নাল সিস্টেমে পৌঁছানোর আগে সার্ভার-সাইড কলব্যাক বিলম্বিত হতে পারে। তাই, পেশাদার পদ্ধতি হিসেবে সাজেস্ট করা হয় যে, সার্ভার-সাইড কলব্যাক পাওয়ার পরে সব পুরস্কারের ভ্যালিডেশন করার সময় ব্যবহারকারীকে অবিলম্বে পুরস্কার দেওয়ার জন্য ক্লায়েন্ট-সাইড কলব্যাক ব্যবহার করুন। এই পদ্ধতিটি ব্যবহারকারীর জন্য ভালো অভিজ্ঞতা প্রদান করে এবং একই সাথে প্রদান করা পুরস্কারের বৈধতা নিশ্চিত করে।
তবে, যেসব অ্যাপ্লিকেশনে পুরস্কারের মেয়াদ অত্যন্ত গুরুত্বপূর্ণ (যেমন, পুরস্কার আপনার অ্যাপের ইন-গেম ইকোনমিকে প্রভাবিত করে) এবং পুরস্কার দিতে দেরি হলেও চলবে, সেক্ষেত্রে যাচাই করা সার্ভার-সাইড কলব্যাকের জন্য অপেক্ষা করা সবচেয়ে ভালো উপায় হতে পারে।
কাস্টম ডেটা
যেসব অ্যাপের সার্ভার-সাইড যাচাইকরণ কলব্যাকে অতিরিক্ত ডেটা প্রয়োজন, সেগুলিকে পুরস্কার প্রদানকারী বিজ্ঞাপনের
কাস্টম ডেটা ফিচার ব্যবহার করতে হবে। পুরস্কার প্রদানকারী বিজ্ঞাপন অবজেক্টে সেট করা যেকোনও স্ট্রিং ভ্যালু SSV কলব্যাকের custom_data কোয়েরি প্যারামিটারে পাস করা হয়। কোনও কাস্টম ডেটা ভ্যালু সেট করা না থাকলে, SSV কলব্যাকে custom_data কোয়েরি প্যারামিটার ভ্যালু
উপস্থিত থাকবে না।
পুরস্কার প্রদানকারী বিজ্ঞাপন লোড হওয়ার পরে নিম্নলিখিত উদাহরণ SSV বিকল্প সেট করে:
আপনার কাস্টম ডেটা দিয়ে SAMPLE_CUSTOM_DATA_STRING পরিবর্তন করুন।
আপনি কাস্টম পুরস্কার স্ট্রিং সেট করতে চাইলে, বিজ্ঞাপন দেখানোর আগে আপনাকে তা করতে হবে।
পুরস্কার প্রদানকারী SSV-এর ম্যানুয়াল যাচাইকরণ
পুরস্কার প্রদানকারী SSV যাচাই করার জন্য RewardedAdsVerifier ক্লাসের
দ্বারা সম্পাদিত ধাপগুলি নিচে উল্লেখ করা হল। যদিও অন্তর্ভুক্ত কোড স্নিপেটগুলি Java-তে রয়েছে এবং
Tink থার্ড-পার্টি লাইব্রেরি ব্যবহার করে, এই ধাপগুলি আপনি নিজের পছন্দের ভাষায়
বাস্তবায়িত করতে পারেন, ECDSA সমর্থন করে এমন যেকোনও থার্ড-পার্টি লাইব্রেরি
ব্যবহার করে।
পাবলিক কী ফেচ করা
পুরস্কার প্রদানকারী SSV কলব্যাক যাচাই করতে, আপনার AdMob-এর দেওয়া একটি পাবলিক কী প্রয়োজন।
পুরস্কার প্রদানকারী SSV কলব্যাক যাচাই করার জন্য ব্যবহার করা পাবলিক কী-এর একটি তালিকা AdMob কী সার্ভার থেকে ফেচ করা যেতে পারে। পাবলিক কীয়ের তালিকা JSON ফর্ম্যাটে দেওয়া হয়, যার ফর্ম্যাটটি নিচে দেওয়া ফর্ম্যাটের মতো:
{
"keys": [
{
keyId: 1916455855,
pem: "-----BEGIN PUBLIC KEY-----\nMF...YTPcw==\n-----END PUBLIC KEY-----"
base64: "MFkwEwYHKoZIzj0CAQYI...ltS4nzc9yjmhgVQOlmSS6unqvN9t8sqajRTPcw=="
},
{
keyId: 3901585526,
pem: "-----BEGIN PUBLIC KEY-----\nMF...aDUsw==\n-----END PUBLIC KEY-----"
base64: "MFYwEAYHKoZIzj0CAQYF...4akdWbWDCUrMMGIV27/3/e7UuKSEonjGvaDUsw=="
},
],
}
সর্বজনীন 'কী' ফিরিয়ে আনতে, AdMob 'কী' সার্ভারে কানেক্ট করুন এবং 'কী' ডাউনলোড করুন। নিম্নলিখিত কোডটি এই কাজটি সম্পন্ন করে এবং data ভেরিয়েবলে কীগুলির JSON উপস্থাপনা সেভ করে।
String url = ...;
NetHttpTransport httpTransport = new NetHttpTransport.Builder().build();
HttpRequest httpRequest =
httpTransport.createRequestFactory().buildGetRequest(new GenericUrl(url));
HttpResponse httpResponse = httpRequest.execute();
if (httpResponse.getStatusCode() != HttpStatusCodes.STATUS_CODE_OK) {
throw new IOException("Unexpected status code = " + httpResponse.getStatusCode());
}
String data;
InputStream contentStream = httpResponse.getContent();
try {
InputStreamReader reader = new InputStreamReader(contentStream, UTF_8);
data = readerToString(reader);
} finally {
contentStream.close();
}
মনে রাখবেন, পাবলিক কী নিয়মিত পরিবর্তন করা হয়। আসন্ন রোটেশন সম্পর্কে আপনাকে জানাতে একটি ইমেল পাবেন। আপনি যদি সর্বজনীন কী ক্যাশে করেন, তাহলে এই ইমেল পাওয়ার পরে আপনাকে কী আপডেট করতে হবে।
পাবলিক কী সংগ্রহ করা হয়ে গেলে, সেগুলি পার্স করতে হবে। নিচে দেওয়া
parsePublicKeysJson পদ্ধতিতে ইনপুট হিসেবে উপরে দেওয়া উদাহরণের
মতো JSON স্ট্রিং নেওয়া হয় এবং key_id ভ্যালু থেকে পাবলিক কী-তে ম্যাপিং তৈরি করা হয়,
যেগুলি Tink লাইব্রেরি থেকে ECPublicKey অবজেক্ট হিসেবে এনক্যাপসুলেট করা হয়।
private static Map<Integer, ECPublicKey> parsePublicKeysJson(String publicKeysJson)
throws GeneralSecurityException {
Map<Integer, ECPublicKey> publicKeys = new HashMap<>();
try {
JSONArray keys = new JSONObject(publicKeysJson).getJSONArray("keys");
for (int i = 0; i < keys.length(); i++) {
JSONObject key = keys.getJSONObject(i);
publicKeys.put(
key.getInt("keyId"),
EllipticCurves.getEcPublicKey(Base64.decode(key.getString("base64"))));
}
} catch (JSONException e) {
throw new GeneralSecurityException("failed to extract trusted signing public keys", e);
}
if (publicKeys.isEmpty()) {
throw new GeneralSecurityException("No trusted keys are available.");
}
return publicKeys;
}
যাচাই করার জন্য কন্টেন্ট পান
পুরস্কার প্রদানকারী SSV কলব্যাকের শেষ দুটি কোয়েরি প্যারামিটার সবসময় signature
এবং key_id, এই ক্রমে থাকে। বাকি কোয়েরি প্যারামিটারগুলি যাচাই করার জন্য কন্টেন্ট
নির্দিষ্ট করে। ধরা যাক, আপনি AdMob-কে https://www.myserver.com/mypath-এ পুরস্কার কলব্যাক পাঠানোর জন্য কনফিগার করেছেন। নিচের স্নিপেটে, যাচাই করার জন্য হাইলাইট করা কন্টেন্ট সহ একটি উদাহরণ
পুরস্কৃত SSV কলব্যাক দেখানো হয়েছে।
https://www.myserver.com/path?ad_network=54...55&ad_unit=12345678&reward_amount=10&reward_item=coins ×tamp=150777823&transaction_id=12...DEF&user_id=1234567&signature=ME...Z1c&key_id=1268887
নিচের কোডটি দেখায় যে কীভাবে UTF-8 বাইট অ্যারে হিসেবে কলব্যাক URL থেকে যাচাই করা কন্টেন্ট পার্স করতে হয়।
public static final String SIGNATURE_PARAM_NAME = "signature=";
...
URI uri;
try {
uri = new URI(rewardUrl);
} catch (URISyntaxException ex) {
throw new GeneralSecurityException(ex);
}
String queryString = uri.getQuery();
int i = queryString.indexOf(SIGNATURE_PARAM_NAME);
if (i == -1) {
throw new GeneralSecurityException("needs a signature query parameter");
}
byte[] queryParamContentData =
queryString
.substring(0, i - 1)
// i - 1 instead of i because of & in the query string
.getBytes(Charset.forName("UTF-8"));
কলব্যাক URL থেকে signature ও key_id পাওয়া
আগের ধাপ থেকে queryString ভ্যালু ব্যবহার করে, নিচে দেখানো কলব্যাক URL থেকে signature এবং
key_id কোয়েরি প্যারামিটার পার্স করুন:
public static final String KEY_ID_PARAM_NAME = "key_id=";
...
String sigAndKeyId = queryString.substring(i);
i = sigAndKeyId.indexOf(KEY_ID_PARAM_NAME);
if (i == -1) {
throw new GeneralSecurityException("needs a key_id query parameter");
}
String sig =
sigAndKeyId.substring(
SIGNATURE_PARAM_NAME.length(), i - 1 /* i - 1 instead of i because of & */);
int keyId = Integer.valueOf(sigAndKeyId.substring(i + KEY_ID_PARAM_NAME.length()));
যাচাইকরণ করা
শেষ ধাপ হল উপযুক্ত সর্বজনীন কী ব্যবহার করে কলব্যাক URL-এর কন্টেন্ট যাচাই করা। parsePublicKeysJson পদ্ধতি থেকে ফেরত পাওয়া ম্যাপিং নিন এবং কলব্যাক URL থেকে key_id প্যারামিটার ব্যবহার করে
সেই ম্যাপিং থেকে সর্বজনীন কী পান। তারপর সেই পাবলিক কী দিয়ে
স্বাক্ষর যাচাই করুন। এইসব ধাপ নিচে verify পদ্ধতিতে দেখানো হয়েছে।
private void verify(final byte[] dataToVerify, int keyId, final byte[] signature)
throws GeneralSecurityException {
Map<Integer, ECPublicKey> publicKeys = parsePublicKeysJson();
if (publicKeys.containsKey(keyId)) {
foundKeyId = true;
ECPublicKey publicKey = publicKeys.get(keyId);
EcdsaVerifyJce verifier = new EcdsaVerifyJce(publicKey, HashType.SHA256, EcdsaEncoding.DER);
verifier.verify(signature, dataToVerify);
} else {
throw new GeneralSecurityException("cannot find verifying key with key ID: " + keyId);
}
}
পদ্ধতিটি কোনও ব্যতিক্রম না ঘটিয়ে এক্সিকিউট করলে, কলব্যাক URL সফলভাবে যাচাই করা হয়েছে।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
- AdMob কী সার্ভার থেকে পাওয়া পাবলিক কী আমি কি ক্যাশে করতে পারি?
- SSV কলব্যাক যাচাই করার জন্য প্রয়োজনীয় অপারেশনের সংখ্যা কমাতে, আমরা সাজেস্ট করি যে আপনি AdMob কী সার্ভারের মাধ্যমে প্রদান করা সর্বজনীন কী ক্যাশে করুন। তবে, মনে রাখবেন যে সর্বজনীন কী নিয়মিত রোটেট করা হয় এবং ২৪ ঘণ্টার বেশি ক্যাশে করা উচিত নয়।
- AdMob কী সার্ভারের মাধ্যমে প্রদান করা পাবলিক কী কত ঘনঘন রোটেট করা হয়?
- AdMob কী সার্ভার থেকে পাওয়া পাবলিক কী পরিবর্তনশীল শিডিউল অনুযায়ী ঘোরানো হয়। SSV কলব্যাকের যাচাইকরণ যাতে প্রত্যাশিতভাবে কাজ করা চালিয়ে যায় তা নিশ্চিত করতে, সর্বজনীন কী ২৪ ঘণ্টার বেশি সময় ধরে ক্যাশে করা উচিত নয়।
- আমার সার্ভারে পৌঁছানো না গেলে কী হবে?
- Google আশা করে যে SSV কলব্যাকের জন্য
HTTP 200 OKস্ট্যাটাস রেসপন্স কোড পাবে। আপনার সার্ভারে পৌঁছানো না গেলে বা প্রত্যাশিত উত্তর না দিলে, Google এক সেকেন্ডের ব্যবধানে পাঁচবার পর্যন্ত SSV কলব্যাক পাঠানোর চেষ্টা করবে। - SSV কলব্যাক যে Google থেকে আসছে তা আমি কীভাবে যাচাই করব?
- SSV কলব্যাক Google থেকে এসেছে কিনা তা যাচাই করতে রিভার্স DNS লুকআপ ব্যবহার করুন।