android-canvas desde - La aplicación Facebook Canvas en WebView no funciona en Android(en la aplicación nativa de Facebook)




las porque (2)

Soluciono este problema con los siguientes pasos:

  1. Ingrese al centro de delevopers de Facebook y elija la aplicación.
  2. En la pestaña Configuración, incluya la plataforma de lienzo de Facebook y el sitio web (es importante incluir ambas plataformas y completar todos los campos).
  3. En la pestaña Detalles de la aplicación, vaya a las plataformas del centro de aplicaciones enumeradas y active los elementos "Aplicación en Facebook" y "Sitio web - Móvil".
  4. En la pestaña Estado y revisión, inicie una presentación.
  5. Espere la aprobación del equipo de Facebook.
  6. Después de esto, su aplicación se ejecutará en Android, iOS y la Web.

Desarrollé una aplicación de Facebook para Facebook, que funciona bien en la Web, e iOS (vista web móvil); sin embargo, en Android, específicamente un Galaxy S4, la aplicación no se carga y la aplicación de Facebook envía un mensaje que dice:

"[AppName] is incompatible with your device. Please visit the App Centre to find apps for this device."

La URL web móvil está configurada y funciona bien en dispositivos iOS. El certificado HTTPS es correcto y está configurado correctamente.

La propia documentación de Facebook indica que abrirá la aplicación en una vista web si está configurada la URL móvil. Sin embargo, ni siquiera recibo una solicitud a mi servidor desde el teléfono.

¿¿Algunas ideas??


Otro enfoque: solo necesita crear su propia vista personalizada. y onCreate. luego itere el objeto AttributeSet (attrs) para encontrar el índice de su atributo. luego simplemente llame a getAttributeResourceValue con el índice, luego obtendrá el valor inicial de ResouceID. un ejemplo simple de extender ImageView para obtener ResourceID para el fondo:

public class PhoneImageView extends ImageView {

    private static final String BACKGROUND="background";
    private int imageNormalResourceID;

    public PhoneImageView(Context context) {
        super(context);
    }

    public PhoneImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
        for (int i = 0; i <attrs.getAttributeCount() ; i++) {
            if(attrs.getAttributeName(i).equals(BACKGROUND)){
                imageNormalResourceID =attrs.getAttributeResourceValue(i,-1);
            }
        }
    }

    public PhoneImageView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }


}

Este enfoque es adecuado para quienes buscan almacenar valores iniciales. La solución provista por Bojan Kseneman (+1 voto) es mantener la referencia a resourceID siempre que se cambie la vista.





android facebook android-canvas