Trouver le “Android nom de classe” dans “AndroidManifest.xml” généré par Unity3D
Lors de la configuration d'un "Natif Android App" dans un Facebook app, elles exigent de la Android Nom de la Classe. Si vous avez créé le fichier APK Android à partir de Unity3D, comment savez-vous en quelle classe?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="--------------" android:versionName="1.02" android:versionCode="8">
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
<application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name="com.unity3d.player.UnityPlayerProxyActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="landscape">
</activity>
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="landscape">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
</activity>
<activity android:name="com.unity3d.player.VideoPlayer" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="landscape">
</activity>
<!-- ACTIVITIES -->
<activity android:name="com.prime31.FacebookProxyActivity" />
<!-- META-DATA -->
</application>
<!-- PERMISSIONS -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:glEsVersion="0x00020000" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.sensor.accelerometer" />
<uses-feature android:name="android.hardware.touchscreen" />
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
</manifest>
OriginalL'auteur Mattias | 2013-02-21
Vous devez vous connecter pour publier un commentaire.
Ce champ doit être votre principale activité (associé PRINCIPAL et le LANCEUR d'applications). Dans ce cas, je pense qu'il serait com.unity3d.joueur.UnityPlayerProxyActivity.
C'est surtout nécessaire si vous utilisez natif de liens profonds (de sorte que le FB app pouvez créer une intention qui appelle directement de votre activité). À cet égard, accessibles au public de l'Activité dans votre application va faire.
OriginalL'auteur Ming Li
L'activité principale de l'étiquette doit contenir une
intent-filter
de la balise avec l'actionandroid.intent.action.MAIN
et la catégorieandroid.intent.category.LAUNCHER
.Description de la
intent-filter
tag (à partir de la documentation):L'activité principale d'une application Android a un
intent-filter
avec la catégorieLAUNCHER
qui en gros dit que l'activité peut "lancer l'application" (en d'autres termes, qu'il est le lanceur d'applications/entrée).La
activity
balise devrait ressembler à quelque chose comme ceci:En regardant votre
AndroidManifest.xml
, vous pouvez en conclure que l'Activité principale de votre application est l'com.unity3d.player.UnityPlayerProxyActivity
Activité, parce qu'elle contient uneintent-filter
correspondant à ces critères.Bonne chance avec votre jeu!
OriginalL'auteur Daniel Kvist
À l'aide de "UnityPlayerProxyActivity" n'est plus vrai pour l'ensemble de l'unité des versions. Vous pourriez avoir à utiliser "UnityPlayerActivity" à la place.
Détails:
Si vous exportez un projet Android à partir de l'unité vous pouvez trouver trois classes de la src:
"UnityPlayerProxyActivity" et "UnityPlayerNativeActivity" ont été dépréciées depuis l'Unité 5.0 beta12, donc vous devez utiliser le "UnityPlayerActivity" à la place.
Dans Facebook tapez:
[tld.votredomaine.jeu].UnityPlayerActivity
Remplacer le [...] partie avec votre application spécificités de cours. Attention: Si vous avez des plugins/extensions de bricoler avec votre manifeste, alors c'est peut-être différent.
Mise à JOUR:
Les nouvelles Versions de Facebook SDK pour l'Unité (testé avec l'article 7.9.4), vous pouvez simplement recherche pour "FacebookSettings" dans votre dossier des Actifs, et il vous dira ce Nom de la Classe à utiliser ("com.facebook.de l'unité.FBUnityDeepLinkingActivity" par exemple).
OriginalL'auteur geoathome