Wie lizenziere ich meine Android-Anwendung?

Ich bin gerade dabei, meine Android-Anwendung abzuschließen. Jetzt möchte ich meine Bewerbung auf den Android-Markt für bezahlte Bewerbung hochladen. Dafür habe ich das Dokument von der Android-Seite gelesen:

Android lizenzierung

Aber ich möchte irgendeine Demo oder ein Projekt sehen, das eine solche Lizenzierung gemacht hat. Ich habe die Demo auf der Android-Entwickler-Website der Mainaktivität gesehen. Aber da ist der Handler gegeben und ich möchte diesen Code in meine Handlung des Projekts umsetzen. In mymainactivity gibt es einen Startbildschirm in den Anfang der Anwendung, und ich habe einen Handler dafür gesetzt. Deshalb brauche ich ein Beispiel, um zu sehen, wie man die Lizenzierung in unserer eigenen Anwendung implementiert.

Eine andere Sache, die ich wissen möchte, ist, ist dies obligatorisch, um Android-Lizenzierung zu implementieren, um eine bezahlte Anwendung auf den Android-Markt hochzuladen?

Ist es möglich, die Anwendung als bezahlt einzustellen, ohne die Lizenzierung der Android-Anwendung zu implementieren?
Wenn ja und es gibt irgendwelche Demos, bitte gib mir einen Link dazu.

  • Android, wie man Beta-Version von App veröffentlicht
  • Wie man eine bezahlte Bewerbung aus einem nicht unterstützten Land verkauft
  • Fehler: Kann keine FMOD :: Sound-Instanz für Ressource sharedassets0.resource erstellen, wenn die Anwendungsbinärdatei in Unity aufgeteilt wird
  • Android Market: "Dieses Element ist nicht mit Ihrem Gerät kompatibel."
  • Überprüfen Sie, ob die App im Android Market verfügbar ist
  • Wie zu beheben - "Diese Version der Anwendung ist nicht für Market Billing konfiguriert"?
  • Gibt es einen Punkt zum Hochladen einer Feature-Grafik im aktuellen Play Store?
  • Warum ist App nach dem Update nicht mit Tablets kompatibel
  • One Solution collect form web for “Wie lizenziere ich meine Android-Anwendung?”

    Bevor du anfängst, musst du die Lizenzbibliothek in deinem Projekt eingeschlossen haben, wie hier erklärt: Lizenzierung Ihrer Bewerbungen | Android-Entwickler

    1. Machen Sie eine neue Aktivität in Ihrem Projekt namens LicenseCheck.java

    2. Fügen Sie in dieser Aktivität Folgendes ein:

      import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.provider.Settings.Secure; import android.widget.Toast; import com.android.vending.licensing.AESObfuscator; import com.android.vending.licensing.LicenseChecker; import com.android.vending.licensing.LicenseCheckerCallback; import com.android.vending.licensing.ServerManagedPolicy; /** * NOTES ON USING THIS LICENSE FILE IN YOUR APPLICATION: * 1. Define the package * of you application above * 2. Be sure your public key is set properly @BASE64_PUBLIC_KEY * 3. Change your SALT using random digits * 4. Under AllowAccess, Add your previously used MainActivity * 5. Add this activity to * your manifest and set intent filters to MAIN and LAUNCHER * 6. Remove Intent Filters from previous main activity */ public class LicenseCheck extends Activity { private class MyLicenseCheckerCallback implements LicenseCheckerCallback { @Override public void allow() { if (isFinishing()) { // Don't update UI if Activity is finishing. return; } // Should allow user access. startMainActivity(); } @Override public void applicationError(ApplicationErrorCode errorCode) { if (isFinishing()) { // Don't update UI if Activity is finishing. return; } // This is a polite way of saying the developer made a mistake // while setting up or calling the license checker library. // Please examine the error code and fix the error. toast("Error: " + errorCode.name()); startMainActivity(); } @Override public void dontAllow() { if (isFinishing()) { // Don't update UI if Activity is finishing. return; } // Should not allow access. In most cases, the app should assume // the user has access unless it encounters this. If it does, // the app should inform the user of their unlicensed ways // and then either shut down the app or limit the user to a // restricted set of features. // In this example, we show a dialog that takes the user to Market. showDialog(0); } } private static final String BASE64_PUBLIC_KEY = "PLACE YOUR BASE KEY FROM GOOGLE HERE"; private static final byte[] SALT = new byte[] { INPUT 20 RANDOM INTEGERS HERE }; private LicenseChecker mChecker; // A handler on the UI thread. private LicenseCheckerCallback mLicenseCheckerCallback; private void doCheck() { mChecker.checkAccess(mLicenseCheckerCallback); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Try to use more data here. ANDROID_ID is a single point of attack. String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID); // Library calls this when it's done. mLicenseCheckerCallback = new MyLicenseCheckerCallback(); // Construct the LicenseChecker with a policy. mChecker = new LicenseChecker(this, new ServerManagedPolicy(this, new AESObfuscator(SALT, getPackageName(), deviceId)), BASE64_PUBLIC_KEY); doCheck(); } @Override protected Dialog onCreateDialog(int id) { // We have only one dialog. return new AlertDialog.Builder(this) .setTitle("Application Not Licensed") .setCancelable(false) .setMessage( "This application is not licensed. Please purchase it from Android Market") .setPositiveButton("Buy App", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent marketIntent = new Intent( Intent.ACTION_VIEW, Uri.parse("http://market.android.com/details?id=" + getPackageName())); startActivity(marketIntent); finish(); } }) .setNegativeButton("Exit", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }).create(); } @Override protected void onDestroy() { super.onDestroy(); mChecker.onDestroy(); } private void startMainActivity() { startActivity(new Intent(this, MainActivity.class)); //REPLACE MainActivity.class WITH YOUR APPS ORIGINAL LAUNCH ACTIVITY finish(); } public void toast(String string) { Toast.makeText(this, string, Toast.LENGTH_SHORT).show(); } } 
    3. Ändern Sie den Basisschlüssel zu dem einen Google bereitgestellt, Platzieren Sie 20 zufällige Ganzzahlen in der SALT, Ändern Sie MainActivity.class in die Hauptaktivität Ihrer Anwendung.

    4. Aktualisiere deine Manifest-Datei mit der neuen Aktivität

       <!-- Old Launch Activity Here --> <activity android:label="@string/app_name" android:name=".MainActivity" /> <!-- New License Launch Activity with all intent filters from your previous main activity --> <!-- Translucent.NoTitleBar is so that this activity is never shown to the user --> <activity android:label="@string/app_name" android:name=".LicenseCheck" android:theme="@android:style/Theme.Translucent.NoTitleBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 
    5. Berechtigung hinzufügen Im Manifest-Tag aber nicht im Anwendungs-Tag

       <uses-permission android:name="com.android.vending.CHECK_LICENSE" /> 

    Du bist alles fertig! Stellen Sie sicher, dass Sie es ausprobieren, bevor Sie veröffentlichen. ๐Ÿ™‚ ๐Ÿ™‚

    Das Android ist ein Google Android Fan-Website, Alles รผber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.