Cómo escribir tu propio complemento de Android
Actualmente, se definen 4 protocolos en plugin-x: ProtocolAds, ProtocolAnalytics, ProtocolIAP y ProtocolSocial. Para escribir su propio complemento, no necesita escribir ningún código c/jni o código de enlace javascript. Hemos implementado esto en la capa central del complemento-x. Todo lo que los desarrolladores deben hacer es:
Crear un nuevo proyecto de Android.
Usa java para implementar la interfaz que definimos.
Estructura de carpetas del complemento
Asegúrese de que la estructura de carpetas de su complemento sea similar a la siguiente imagen:
proj.android: la carpeta del proyecto de Android del complemento.
proj.ios: la carpeta de herramientas ios del complemento.
Nota: la implementación de la herramienta pulish.sh dependerá de dicha estructura de carpetas.
Implementación del complemento
Importar el proyecto de Android del protocolo del complemento en Eclipse
La estructura de carpetas del proyecto es similar a la siguiente figura:
build.xml: utilizado por el script Publish.sh, se puede copiar desde otros proyectos de complemento. Tenga cuidado al modificar el nombre del proyecto.
ForManifest.xml: utilizado por gameDevGuide.sh. Si su complemento habilita algunos permisos adicionales en AndroidManifest.xml, debe agregarlos a este archivo.
sdk: coloque aquí el paquete jar del SDK de terceros.
src: coloque aquí el código de implementación de su complemento.
Escribe una clase java para implementar al menos una interfaz
Esta clase debe tener un constructor con un parámetro de contexto, por ejemplo:
paquete org.cocos2dx. complemento;
clase pública AnalyticsFlurry implementa InterfaceAnalytics {
...
public AnalyticsFlurry(Contexto contexto) {
mContext = contexto;
p>
}
}
Puedes anular métodos en la interfaz o definir tus propios métodos, por ejemplo:
@Override
public String getSDKVersion() {
return "3.2.1";
}
protected void setUserId( String userId) {
LogD("setUserId invocado!");
final String curUser = userId;
PluginWrapper.runOnMainThread(new Runnable() {
@Override
public void run() {
prueba {
FlurryAgent.setUserId(curUser); > } catch(Exception e){
LogE("Excepción en setUserId", e
}
}
} );
}
Actualmente, plugin-x solo admite el paso de parámetros de tipo int, float, boolean, String y JSONObject, y el tipo de valor de retorno solo puede ser int, float, booleano y cadena.