2013-02-21 52 views
8

द्वारा उत्पन्न "AndroidManifest.xml" में "एंड्रॉइड क्लास नाम" ढूंढना एक फेसबुक ऐप में "एंड्रॉइड नेटिव ऐप" को कॉन्फ़िगर करते समय, उन्हें एंड्रॉइड क्लास नाम की आवश्यकता होती है। यदि आपने यूनिटी 3 डी से एंड्रॉइड एपीके बनाया है, तो आप कैसे जानते हैं कि किस कक्षा का उपयोग करना है?यूनिटी 3 डी

enter image description here

<?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> 

उत्तर

4

यह फ़ील्ड आपकी मुख्य गतिविधि (मुख्य और लॉन्चर के साथ जुड़े) होना चाहिए। इस मामले में, मुझे लगता है कि यह com.unity3d.player.UnityPlayerProxyActivity होगा।

यदि आप देशी गहरे लिंक का उपयोग करते हैं तो यह मुख्य रूप से आवश्यक है (इसलिए एफबी ऐप एक ऐसा इरादा बना सकता है जो सीधे आपकी गतिविधि को कॉल करता हो)। इस संबंध में, आपके ऐप में सार्वजनिक रूप से सुलभ गतिविधि होगी।

5

मुख्य गतिविधि के टैग में intent-filter टैग android.intent.action.MAIN और श्रेणी android.intent.category.LAUNCHER के साथ टैग होना चाहिए। intent-filter टैग (प्रलेखन से) की

विवरण:

उद्देश्य है कि एक गतिविधि, सेवा, या प्रसारित रिसीवर का जवाब कर सकते हैं के प्रकार निर्दिष्ट करता है। एक इरादा फ़िल्टर की इसके मूल घटक की क्षमताओं की घोषणा करता है - कोई गतिविधि या सेवा क्या कर सकती है और किसी रिसीवर को संभालने वाले प्रसारण के प्रकार क्या हैं। यह घटक को विज्ञापित प्रकार के इरादे प्राप्त करने के घटक को खोलता है, जबकि उन को फ़िल्टर करते समय घटक के लिए सार्थक नहीं हैं। फ़िल्टर की अधिकांश सामग्री का वर्णन <action>, <category>, और <data> सबलेमेंट्स द्वारा किया गया है।

फ़िल्टरों की एक और विस्तृत चर्चा के लिए, अलग इरादे और इराद फ़िल्टर दस्तावेज़, साथ ही साथ इरादे फ़िल्टर अनुभाग परिचय में देखें।

एक Android आवेदन की मुख्य गतिविधि श्रेणी LAUNCHER जो मूल रूप से बताता है कि गतिविधि "एप्लिकेशन लॉन्च" कर सकते हैं (दूसरे शब्दों में, यह है कि यह लांचर/प्रविष्टि है) के साथ एक intent-filter है।

activity टैग कुछ इस तरह दिखना चाहिए:

<activity android:name="ActivityClassName" android:label="Activity title"> 
    <!-- The intent filter --> 
    <intent-filter> 
     <!-- The action --> 
     <action android:name="android.intent.action.MAIN"/> 
     <!-- The category --> 
     <category android:name="android.intent.category.LAUNCHER"/> 
    </intent-filter> 
</activity> 

अपने AndroidManifest.xml को देख कर, आप, निष्कर्ष निकाल सकते हैं कि आपके एप्लिकेशन की मुख्य गतिविधि com.unity3d.player.UnityPlayerProxyActivity गतिविधि है, क्योंकि यह एक intent-filter उन criterias मिलान होता है।

अपने गेम के साथ शुभकामनाएँ!

0

"यूनिटीप्लेयर प्रॉक्सी एक्टिविटी" का उपयोग करना सभी एकता संस्करणों के लिए अब सत्य नहीं है। आपको इसके बजाय "यूनिटीप्लेयर एक्टिविटी" का उपयोग करना पड़ सकता है।

विवरण:

आप एकता से एक Android परियोजना निर्यात यदि आप स्रोत में तीन वर्गों मिल सकता है:

  • UnityPlayerActivity
  • UnityPlayerNativeActivity
  • UnityPlayerProxyActivity

"UnityPlayerProxyActivity" और "यूनिटीप्लेयरनेटिव एक्टिविटी" रहा है यूनिटी 5.0 बीटा 12 के बाद से बहिष्कृत, इस प्रकार आपको इसके बजाय "यूनिटीप्लेयर एक्टिविटी" का उपयोग करना होगा।

[tld.yourdomain.game] .UnityPlayerActivity

निश्चित रूप से अपने अनुप्रयोग बारीकियों के साथ [...] भाग बदलें:

में फेसबुक प्रकार में

। ध्यान दें: यदि आपके पास कुछ मेनिफेस्ट/एक्सटेंशन हैं जो आपके मैनिफेस्ट के साथ घूमते हैं, तो यह अलग हो सकता है।

अद्यतन: एकता के लिए फेसबुक एसडीके के नए संस्करण में (7.9.4 के साथ परीक्षण किया) तो आप बस "FacebookSettings" अपने आस्तियों फ़ोल्डर में खोज कर सकते हैं और क्या वर्ग नाम का उपयोग करने के लिए यह आपको बता देंगे ("com.facebook उदाहरण के लिए ".unity। एफबीयूनिटीडिपलिंकिंग सक्रियता"।