Istnieją aplikacje (takie jak https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher), które są wolne, ale którego wypłacane funkcje można włączyć poprzez zakup innej aplikacji (w tym przypadku, to jeden https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher.prime)Jak działa kupowanie aplikacji, aby włączyć płatne funkcje innej aplikacji?
Jak to działa?
Domyślam się, że darmowe aplikacje uruchamiają wyraźne intencje i mogą wykryć, czy aplikacja jest dostępna za pośrednictwem struktury try/catch. Minusem tego jest to, że może to łatwo zostać wykorzystane przez kogoś, kto tworzy aplikację o tej samej nazwie pakietu i określa wszystkie możliwe filtry Intent.
Czy to działa, czy jest to jakiś inny sposób?
Czy można to obejść, jeśli utworzę aplikację o tej samej nazwie pakietu, która odpowiada temu samemu celowi? Nie publikować, ale po prostu zainstalować lokalnie, aby włączyć funkcje innych aplikacji. – zundi
Zaktualizowano odpowiedź: –
'PakietyManager.checkSignature()' było tym, czego szukałem. Zwróci "true", jeśli oba są podpisane tym samym certyfikatem, co oznacza, że nie można go łatwo obejść, nawet jeśli masz kod źródłowy innej aplikacji. Dzięki – zundi