ఈ గైడ్ IAP ల నుండి ఆదాయాన్ని సంపాదించే Android అనువర్తన డెవలపర్ల కోసం మరియు హ్యాకింగ్ సాధనాల ద్వారా హ్యాకర్లు మరియు మోసపూరిత కొనుగోళ్ల నుండి తమను తాము రక్షించుకోవాలనుకుంటుంది. అక్కడ చాలా ప్రసిద్ధ IAP హ్యాకింగ్ సాధనాలు ఉన్నాయి, అవి నేను ఇక్కడ జాబితా చేయను, కాని ప్రాథమికంగా ఈ సాధనాలు మీ అనువర్తనానికి తప్పుడు కొనుగోలు రశీదులను పంపుతాయి, వినియోగదారు ఉచిత IAP లను ఆస్వాదించడానికి వీలు కల్పిస్తుంది. ఇది నెలవారీ సభ్యత్వాల నుండి ఆట టోకెన్ల వరకు ఏదైనా కావచ్చు.
ఈ హ్యాకింగ్ సాధనాల యొక్క క్రొత్త సంస్కరణలు ఎల్లప్పుడూ విడుదల చేయబడుతున్నాయి, మరియు వాటి తాజా నవీకరణలు మరియు పద్ధతుల గురించి తెలుసుకోవడంలో శ్రద్ధ చాలా ముఖ్యం, మీ అనువర్తనాల IAP లను దొంగిలించకుండా రక్షించడానికి మీరు చేయగలిగే కొన్ని విషయాలు ఉన్నాయి. ముఖ్యంగా, మీరు సర్వర్-సైడ్ IAP ధృవీకరణ యొక్క అనేక పద్ధతులను ప్రారంభించాలి, వీటిని నేను క్రింద వివరిస్తాను.
ఈ గైడ్ క్రొత్తవారి కోసం ఉద్దేశించినది కాదు, కానీ ఈ గైడ్లోని వివిధ భాషలను అర్థం చేసుకునే అనుభవజ్ఞులైన అనువర్తన డెవలపర్లు.
ఈ ప్రయోజనం కోసం ప్రత్యేకంగా Git Repo ప్లగ్-ఇన్ ఉపయోగించడం:
పైరసీచెకర్
మీ ప్రాజెక్ట్కు రిపోజిటరీని జోడించండి build.gradle :
రిపోజిటరీలు {
maven {
url “https://jitpack.io”
}
}
మరియు మీ మాడ్యూల్కు లైబ్రరీని జోడించండి build.gradle :
డిపెండెన్సీలు {
కంపైల్ ‘com.github.javiersantos: PiracyChecker: 1.1’
}
సిఫార్సులు
- మీ ఉత్పత్తి విడుదలలలో ప్రోగార్డ్ను ఎల్లప్పుడూ ప్రారంభించండి.
- వీలైనంత త్వరగా చెల్లుబాటు అయ్యే లైసెన్స్ కోసం తనిఖీ చేయడానికి పైరాచీకర్ను మీ ఆన్క్రియేట్ పద్ధతిలో చేర్చాలి.
- లైసెన్స్ చెల్లుబాటు కానప్పుడు డైలాగ్కు బదులుగా క్రొత్త కార్యాచరణను చూపించమని సిఫార్సు చేయబడింది. ఈ విధంగా మీరు అనువర్తనం యొక్క ప్రధాన కార్యాచరణ పూర్తయిందని నిర్ధారించుకోండి. చూడండి “ డైలాగ్ లేదా క్రొత్త కార్యాచరణలో ఫలితాలను ప్రదర్శించండి '.
Google Play లైసెన్సింగ్ (LVL) ను ధృవీకరించండి
Google Play లో మీరు ప్రచురించే అనువర్తనాల కోసం లైసెన్సింగ్ విధానాలను అమలు చేయడానికి మిమ్మల్ని అనుమతించే లైసెన్సింగ్ సేవను Google Play అందిస్తుంది. గూగుల్ ప్లే లైసెన్సింగ్తో, ప్రస్తుత యూజర్ కోసం లైసెన్సింగ్ స్థితిని పొందడానికి మీ అప్లికేషన్ గూగుల్ ప్లేని ప్రశ్నించవచ్చు.
మీరు Google Play ద్వారా ప్రచురించే ఏదైనా అనువర్తనం Google Play లైసెన్సింగ్ సేవను ఉపయోగించవచ్చు. ప్రత్యేక ఖాతా లేదా నమోదు అవసరం లేదు.
కొత్త పైరసీచెకర్ (ఇది)
.enableGooglePlayLicensing (“BASE_64_LICENSE_KEY”)
...
.స్టార్ట్ ();
మీ BASE64 లైసెన్స్ కీని తిరిగి పొందడానికి, మీ అనువర్తనం తప్పక అప్లోడ్ చేయాలి గూగుల్ ప్లే డెవలపర్ కన్సోల్ . అప్పుడు మీ అనువర్తనం -> సేవలు మరియు API లకు ప్రాప్యత చేయండి.
గూగుల్ ప్లే లైసెన్సింగ్ను ఉపయోగిస్తున్నప్పుడు, మీ కార్యాచరణ యొక్క onDestroy () పద్ధతిలో .destroy () కు కాల్ చేయాలి.
మీ అనువర్తనం సంతకం ప్రమాణపత్రాన్ని ధృవీకరించండి (సంతకం)
వినియోగదారు పరికరాల్లో అనువర్తనాన్ని ఇన్స్టాల్ చేయడానికి ముందు డెవలపర్లు ఎల్లప్పుడూ వారి ప్రైవేట్ కీ / సర్టిఫికెట్తో (.keystore ఫైల్లో) అనువర్తనాలతో సంతకం చేయాలి. సంతకం ప్రమాణపత్రం అనువర్తనం యొక్క జీవితమంతా స్థిరంగా ఉండాలి మరియు సాధారణంగా 25 సంవత్సరాల గడువు తేదీని కలిగి ఉండాలి.
.Apk ఏ విధంగానైనా మార్చబడితే అనువర్తన సంతకం విచ్ఛిన్నమవుతుంది - సంతకం చేయని అనువర్తనాలు సాధారణంగా ఇన్స్టాల్ చేయబడవు. ఉదాహరణకు, చెల్లించకుండా పూర్తి అనువర్తన లక్షణాలను ప్రారంభించడానికి దాడి చేసేవారు లైసెన్స్-చెకింగ్ కోడ్ను తొలగిస్తారని మేము can హించవచ్చు. సున్నితమైన వినియోగదారు డేటాను సేకరించడానికి మాల్వేర్ను చట్టబద్ధమైన అనువర్తనంలో చేర్చడానికి .apk ని మార్చడం మరింత ప్రమాదకరమైన ఉదాహరణ. మార్చబడిన .apk వ్యవస్థాపించాలంటే, దాడి చేసిన వ్యక్తి రాజీనామా చేయాలి.
కొత్త పైరసీచెకర్ (ఇది)
.enableSigningCertificate (“478yYkKAQF + KST8y4ATKvHkYibo =”) // ఉత్పత్తి వెర్షన్ కోసం అసలు APK సంతకం
...
.స్టార్ట్ ();
జాగ్రత్త!! పైరసీ చెకర్ యుటిల్స్ పద్ధతిని ఉపయోగించి మీ అనువర్తన సంతకాన్ని తిరిగి పొందవచ్చు. మీరు మీ ప్రొడక్షన్ కీస్టోర్ (డీబగ్ ఒకటి ఉపయోగించడం లేదు) ఉపయోగించి మీ APK పై సంతకం చేశారని మరియు మీరు పంపిణీ చేయడానికి ప్లాన్ చేసిన సంస్కరణను ఇన్స్టాల్ చేశారని నిర్ధారించుకోండి. ఈ పద్ధతి ద్వారా తిరిగి వచ్చిన సంతకాన్ని కన్సోల్లో కాపీ చేసి .enableSigningCertificate (“YOUR_APK_SIGNATURE”) లో అతికించండి.
// ఈ పద్ధతి మీ అనువర్తన సంతకాన్ని కన్సోల్లో ముద్రిస్తుంది
Log.e (“SIGNATURE”, PiracyCheckerUtils.getAPKSignature (ఇది));
ఇన్స్టాలర్ను ధృవీకరించండి
మీరు ఒక నిర్దిష్ట స్టోర్లో అనువర్తనాన్ని మాత్రమే పంపిణీ చేయాలనుకుంటే, ఈ టెక్నిక్ వేరే స్టోర్ను ఉపయోగించి అనువర్తనాన్ని ఇన్స్టాల్ చేయకుండా అడ్డుకుంటుంది.
మద్దతు ఉన్న దుకాణాలు: గూగుల్ ప్లే, అమెజాన్ యాప్ స్టోర్ మరియు శామ్సంగ్ గెలాక్సీ అనువర్తనాలు.
కొత్త పైరసీచెకర్ (ఇది)
.enableInstallerId (InstallerID.GOOGLE_PLAY)
.enableInstallerId (InstallerID.AMAZON_APP_STORE)
.enableInstallerId (InstallerID.GALAXY_APPS)
...
.స్టార్ట్ ();
జాగ్రత్త!! ఇది నిజంగా పరిమితం చేయబడిన సాంకేతికత, ఎందుకంటే ఇది మీ అనువర్తనాన్ని మరొక మార్కెట్ ఉపయోగించి ఇన్స్టాల్ చేయకుండా లేదా పరికరంలో .apk ని నేరుగా ఇన్స్టాల్ చేయకుండా బ్లాక్ చేస్తుంది. ఇది చాలా సందర్భాలలో సిఫారసు చేయబడలేదు.
పైరేట్ అనువర్తనాల వాడకాన్ని ధృవీకరించండి
వినియోగదారు పైరేట్ అనువర్తనాలను ఇన్స్టాల్ చేశారో లేదో తనిఖీ చేయాలనుకుంటే, మీరు ఈ కోడ్ను ఉపయోగించవచ్చు.
ఇది దీని కోసం తనిఖీ చేస్తుంది: లక్కీ పాచర్, యురేట్ పాచర్, ఫ్రీడం మరియు క్రీహాక్.
కొత్త పైరసీచెకర్ (ఇది)
.enableUnauthorizedAppsCheck ()
...
.స్టార్ట్ ();
ఈ పైరేట్ అనువర్తనాలు అన్ఇన్స్టాల్ చేయబడినప్పుడు కూడా మీరు అనువర్తనాన్ని బ్లాక్ చేయవచ్చు. ఇది మీ అనువర్తనాన్ని ఉపయోగించడం కొనసాగించడానికి అనువర్తనాన్ని పాచ్ చేయకుండా నిరోధిస్తుంది మరియు పైరేట్ అనువర్తనాన్ని అన్ఇన్స్టాల్ చేస్తుంది. పైరేట్ అనువర్తనం కనుగొనబడినప్పుడు తెలుసుకోవడానికి లైబ్రరీ షేర్డ్ ప్రిఫరెన్స్ విలువను సేవ్ చేస్తుంది.
దీన్ని చేయడానికి రెండు మార్గాలు ఉన్నాయి:
మీరు ఫలితాన్ని సేవ్ చేయదలిచిన భాగస్వామ్య ప్రాధాన్యతలను మరియు ప్రాధాన్యత పేరును నిర్వచించండి.
కొత్త పైరసీచెకర్ (ఇది)
.enableUnauthorizedAppsCheck ()
.blockIfUnauthorizedAppUninstalled (ప్రాధాన్యతలు, “app_unauthorized”) // మీ స్వంత విలువతో “app_unauthorized” ని మార్చండి
...
.స్టార్ట్ ();
మీరు ఫలితాన్ని సేవ్ చేయదలిచిన భాగస్వామ్య ప్రాధాన్యతల పేరు మరియు ప్రాధాన్యత పేరును నిర్వచించండి.
కొత్త పైరసీచెకర్ (ఇది)
.enableUnauthorizedAppsCheck ()
.blockIfUnauthorizedAppUninstalled (“లైసెన్స్_ప్రెఫరెన్స్లు”, “app_unauthorized”) // మీ స్వంత విలువతో “లైసెన్స్_ప్రెఫరెన్స్లు” మరియు “app_unauthorized” ని మార్చండి
...
.స్టార్ట్ ();
మూడవ పార్టీ స్టోర్ అనువర్తనాల వాడకాన్ని ధృవీకరించండి
వినియోగదారు మూడవ పార్టీ స్టోర్ అనువర్తనాలను ఇన్స్టాల్ చేశారా అని మీరు తనిఖీ చేయాలనుకుంటే, మీరు ఈ కోడ్ను ఉపయోగించవచ్చు.
ఇది దీని కోసం తనిఖీ చేస్తుంది: ఆప్టోయిడ్, బ్లాక్మార్ట్, మొబోజెని, 1 మొబైల్, గెట్అప్క్, గెట్జార్, స్లైడ్మీ మరియు ఎసిమార్కెట్.
కొత్త పైరసీచెకర్ (ఇది)
.enableStoresCheck ()
...
.స్టార్ట్ ();
అనువర్తనం డీబగ్ బిల్డ్ అయితే ధృవీకరించండి
మీ అనువర్తనం అభివృద్ధి ప్రక్రియ వెలుపల ఎమ్యులేటర్లో నడుస్తుంటే, మీరు కాకుండా మరొకరు అనువర్తనాన్ని విశ్లేషించడానికి ప్రయత్నిస్తున్నారని ఇది సూచిస్తుంది.
కొత్త పైరసీచెకర్ (ఇది)
.enableDebugCheck ()
...
.స్టార్ట్ ();
అనువర్తనం ఎమ్యులేటర్లో నడుస్తుందో లేదో ధృవీకరించండి
అభివృద్ధికి వెలుపల, మీ అనువర్తనం ఎమ్యులేటర్లో నడుస్తూ ఉండటానికి అవకాశం లేదు మరియు డీబగ్ చేయదగిన ఎనేబుల్ ఉన్న అనువర్తనాలను విడుదల చేయడం నిరుత్సాహపరుస్తుంది, ఎందుకంటే ఇది కనెక్ట్ చేసిన కంప్యూటర్లను Android డీబగ్ బ్రిడ్జ్ ద్వారా అనువర్తనాన్ని యాక్సెస్ చేయడానికి మరియు డీబగ్ చేయడానికి అనుమతిస్తుంది.
boolean deep = తప్పుడు;
కొత్త పైరసీచెకర్ (ఇది)
.enableEmulatorCheck (లోతైన)
...
.స్టార్ట్ ();
గమనిక: పరికరం ఎమ్యులేటర్ కాదా అని గుర్తించడానికి లైబ్రరీ అదనపు తనిఖీలు చేసే లోతైన బూలియన్. ఇది కొన్ని విచిత్రమైన క్రాష్లకు దారితీయవచ్చు, కాబట్టి దాన్ని ఉపయోగిస్తున్నప్పుడు తెలివిగా ఉండండి.
లైసెన్స్ చెక్ ఫలితాన్ని షేర్డ్ ప్రిఫరెన్స్లలో సేవ్ చేయండి
.స్టార్ట్ () ను చాలాసార్లు కాల్ చేయకుండా లైసెన్స్ స్థితిని తనిఖీ చేయడానికి లైసెన్స్ చెక్ ఫలితాన్ని సేవ్ చేయడం ఉపయోగపడుతుంది.
దీన్ని చేయడానికి రెండు మార్గాలు ఉన్నాయి:
మీరు ఫలితాన్ని సేవ్ చేయదలిచిన భాగస్వామ్య ప్రాధాన్యతలను మరియు ప్రాధాన్యత పేరును నిర్వచించండి.
కొత్త పైరసీచెకర్ (ఇది)
.saveResultToSharedPreferences (ప్రాధాన్యతలు, “valid_license”) // మీ స్వంత విలువతో “valid_license” ని మార్చండి
...
.స్టార్ట్ ();
మీరు ఫలితాన్ని సేవ్ చేయదలిచిన భాగస్వామ్య ప్రాధాన్యతల పేరు మరియు ప్రాధాన్యత పేరును నిర్వచించండి.
కొత్త పైరసీచెకర్ (ఇది)
.saveResultToSharedPreferences (“లైసెన్స్_ప్రెఫరెన్సెస్”, “చెల్లుబాటు అయ్యే లైసెన్స్”) // మీ స్వంత విలువతో “లైసెన్స్_ప్రెఫరెన్సెస్” మరియు “చెల్లుబాటు అయ్యే లైసెన్స్” ని మార్చండి
...
.స్టార్ట్ ();
అనుకూలీకరణలు
డైలాగ్ లేదా క్రొత్త కార్యాచరణలో ఫలితాలను ప్రదర్శించండి
లైసెన్స్ చెల్లుబాటు కానప్పుడు డైలాగ్కు బదులుగా క్రొత్త కార్యాచరణను చూపించమని సిఫార్సు చేయబడింది. ఈ విధంగా మీరు అనువర్తనం యొక్క ప్రధాన కార్యాచరణ పూర్తయిందని నిర్ధారించుకోండి.
అప్రమేయంగా రద్దు చేయలేని డైలాగ్ ప్రదర్శించబడుతుంది.
కొత్త పైరసీచెకర్ (ఇది)
. ప్రదర్శన (డిస్ప్లే. యాక్టివిటీ)
...
.స్టార్ట్ ();
అప్రమేయంగా, ప్రదర్శించబడిన కార్యాచరణ లైబ్రరీ రంగులను ఉపయోగిస్తుంది. అనుకూల ప్రాధమిక మరియు ప్రాధమిక ముదురు రంగును వర్తింపచేయడానికి మరియు కార్యాచరణ సాధారణ లేదా తేలికపాటి స్థితి పట్టీని చూపించాలో నిర్వచించడానికి, ఉపయోగించండి:
.విత్ఆక్టివిటీ కలర్స్ (R.color.colorPrimary, R.color.colorPrimaryDark, withLightStatusBar)
ఈ కార్యాచరణ కంటెంట్ కోసం మీరు కస్టమ్ లేఅవుట్ xml ను కూడా నిర్వచించవచ్చు:
.విత్ఆక్టివిటీ లేఅవుట్ (R.layout.my_custom_layout)
అనుకూల కాల్బ్యాక్లను ఉపయోగించడం
బిల్డర్కు బ్యాక్బ్యాక్ జోడించడం వల్ల లైసెన్స్ తనిఖీ చేయబడినప్పుడు ఏమి జరుగుతుందో అనుకూలీకరించడానికి మరియు అనువర్తనాన్ని ఉపయోగించడానికి వినియోగదారుని అనుమతించకపోతే లైసెన్స్ చెక్ లోపాలను నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఈ పద్ధతిని ఉపయోగిస్తున్నప్పుడు గుర్తుంచుకోండి అనధికార వినియోగదారుల నుండి అనువర్తనాన్ని నిరోధించడం గురించి మీరు తెలుసుకోవాలి .
అప్రమేయంగా, అనువర్తనాన్ని ఉపయోగించడానికి వినియోగదారుని అనుమతించకపోతే లైబ్రరీ రద్దు చేయలేని డైలాగ్ను ప్రదర్శిస్తుంది, లేకపోతే ఏమీ జరగదు.
బిల్డర్ను ఉపయోగించండి మరియు క్రింది వాటిని జోడించండి:
.కాల్బ్యాక్ (కొత్త పైరసీచెకర్ కాల్బ్యాక్ () {
Ver ఓవర్రైడ్
పబ్లిక్ శూన్యత అనుమతి () {
// అనువర్తనాన్ని ఉపయోగించడానికి వినియోగదారుని అనుమతించినప్పుడు ఏదైనా చేయండి
}
Ver ఓవర్రైడ్
పబ్లిక్ శూన్యత డోంట్అలో (onNonNull PiracyCheckerError error, ullaNullable PirateApp అనువర్తనం) {
// అనువర్తనాన్ని ఉపయోగించడానికి వినియోగదారుని అనుమతించనప్పుడు మీరు నిర్దిష్టంగా ఏదైనా చేయవచ్చు
// లేదా ‘లోపం’ పరామితిని ఉపయోగించి లోపాన్ని నిర్వహించండి ({ink లింక్ పైరసీచెకర్ ఎర్రర్ at వద్ద లోపాలను తనిఖీ చేయండి).
// అదనంగా, మీరు పైరేట్ అనువర్తనాలు మరియు / లేదా మూడవ పార్టీ దుకాణాల తనిఖీని ప్రారంభించినట్లయితే, ‘అనువర్తనం’ పారామ్
// అనేది పరికరంలో కనుగొనబడిన అనువర్తనం. అనువర్తనం శూన్యంగా ఉంటుంది మరియు శూన్యంగా ఉన్నప్పుడు, పైరేట్ అనువర్తనం లేదా స్టోర్ కనుగొనబడలేదు,
// లేదా మీరు ఆ అనువర్తనాల కోసం చెక్ను నిలిపివేసారు.
// లైసెన్స్ చెల్లని కారణాలను వినియోగదారులకు తెలియజేయడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది.
}
Ver ఓవర్రైడ్
పబ్లిక్ శూన్యత లోపం (onNonNull PiracyCheckerError error) {
// ఈ పద్ధతిని అమలు చేయడం / భర్తీ చేయడం అవసరం లేదు…
// లైసెన్స్ను తనిఖీ చేసేటప్పుడు లోపం సంభవించినప్పుడు మీరు నిర్దిష్టంగా ఏదైనా చేయవచ్చు,
// లేదా ‘లోపం’ పరామితిని ఉపయోగించి లోపాన్ని నిర్వహించండి ({ink లింక్ పైరసీచెకర్ ఎర్రర్ at వద్ద లోపాలను తనిఖీ చేయండి).
}
})
6 నిమిషాలు చదవండి