implementando GCM