Una vez un equipo indie ha terminado un juego o está en la fase de desarrollo y tiene claro los datos clave del juego como el modelo de negocio, plataformas, ventana de lanzamiento y un roadmap bien definido es momento de pensar como querréis lanzar su juego . Evidentemente la auto publicación es una opción, pero obliga al equipo a derivar recursos (tiempo, conocimientos y dinero) en entender como se debe lanzar un juego para que este funcione o al menos recuperemos lo invertido. Como desarrollador de juegos indie, conocer el funcionamiento de los publishers es crucial para decidir si trabajar con uno puede ayudarte a lanzar y comercializar tu juego de manera más efectiva. El punto clave para ello es evaluar lo que necesitamos de él (porting, marqueting, localización, etc.), analizar que recoup tendremos (dinero que habrá que devolver al publisher) y con que condiciones. El recoup (o recoupment) es el proceso por el cual un publisher recupera el dinero invertido en un juego antes d...
Otra herramienta útil para gestionar una aplicación móvil es
conocer la versión de la aplicación. En cada entorno de desarrollo necesitamos
funciones diferentes para conocer la versión en ejecución. El control de versiones
es importante ya que una vez publicado un juego o aplicación todos los archivos
adjuntos a la aplicación no se actualizarán.
Imaginemos que nuestra app utiliza un fichero de BBDD *.db que necesitamos actualizar al publicar una nueva versión en la tienda. Cuando los usuarios actualicen la app, no sabremos desde que versión están actualizando. Además los nuevos ficheros que de distribuyen con el fichero APK serán actualizados, pero aquellos que ya existían no serán actualizados. Tener un control de la versión de la app nos permitirá controlar los cambios y actualizar los ficheros manualmente que sean necesarios.
Para la gestión de versiones yo uso estas rutinas:
Imaginemos que nuestra app utiliza un fichero de BBDD *.db que necesitamos actualizar al publicar una nueva versión en la tienda. Cuando los usuarios actualicen la app, no sabremos desde que versión están actualizando. Además los nuevos ficheros que de distribuyen con el fichero APK serán actualizados, pero aquellos que ya existían no serán actualizados. Tener un control de la versión de la app nos permitirá controlar los cambios y actualizar los ficheros manualmente que sean necesarios.
Para la gestión de versiones yo uso estas rutinas:
unit AppVersion;
interface
{$IF DEFINED(iOS)}
uses Macapi.CoreFoundation;
{$ENDIF}
{$IF DEFINED(ANDROID)}
uses
Androidapi.JNI.JavaTypes,
FMX.Helpers.Android,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.Helpers;
{$ENDIF}
{$IF DEFINED(MSWINDOWS)}
uses
SysUtils;
{$ENDIF}
function GetAppVersionStr: string;
implementation
{$IF DEFINED(MSWINDOWS)}
function GetAppVersionStr: string;
var
Rec: LongRec;
begin
Rec := LongRec(GetFileVersion(ParamStr(0)));
Result := Format('%d.%d', [Rec.Hi, Rec.Lo])
end;
{$ENDIF}
{$IF DEFINED(ANDROID)}
function GetAppVersionStr: string;
var
PackageManager: JPackageManager;
PackageInfo : JPackageInfo;
begin
PackageManager := SharedActivity.getPackageManager;
PackageInfo := PackageManager.getPackageInfo(SharedActivityContext.getPackageName(), TJPackageManager.JavaClass.GET_ACTIVITIES);
Result:= JStringToString(PackageInfo.versionName);
end;
{$ENDIF}
{$IF DEFINED(iOS)}
function GetAppVersionStr: string;
var
CFStr: CFStringRef;
Range: CFRange;
begin
CFStr := CFBundleGetValueForInfoDictionaryKey(
CFBundleGetMainBundle, kCFBundleVersionKey);
Range.location := 0;
Range.length := CFStringGetLength(CFStr);
SetLength(Result, Range.length);
CFStringGetCharacters(CFStr, Range, PChar(Result));
end;
{$ENDIF}
end.
Comentarios
Publicar un comentario